Interface ContainerDelta<V extends Containerable>
- All Superinterfaces:
DebugDumpable
,Foreachable<PrismContainerValue<V>>
,Freezable
,Itemable
,ItemDelta<PrismContainerValue<V>,
,PrismContainerDefinition<V>> ParentVisitable
,PathVisitable
,PrismContainerable<V>
,Serializable
,Visitable
- All Known Implementing Classes:
ContainerDeltaImpl
public interface ContainerDelta<V extends Containerable>
extends ItemDelta<PrismContainerValue<V>,PrismContainerDefinition<V>>, PrismContainerable<V>
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.delta.ItemDelta
ItemDelta.Transformer<V extends PrismValue,
D extends ItemDefinition<?>> -
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescriptionvoid
applyDefinition
(@NotNull PrismContainerDefinition<V> definition) Note: this may change the implementation of the prism values in the delta.void
checkConsistence
(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope) clone()
<O extends Objectable>
voidexpand
(PrismObject<O> object, Trace logger) Post processing of delta to expand missing values from the object.ItemDelta<?,
?> getSubDelta
(ItemPath path) <T extends Containerable>
Collection<PrismContainerValue<T>>Returns all values regardless of whether they are added or removed or replaced.boolean
boolean
isApplicableToType
(Item item) void
setDefinition
(@NotNull PrismContainerDefinition<V> definition) TODO do we need this method publicly?Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze
Methods inherited from interface com.evolveum.midpoint.prism.delta.ItemDelta
accept, accept, accept, addEstimatedOldValue, addEstimatedOldValues, addEstimatedOldValues, addsAnyValue, addsAnyValueMatching, addToReplaceDelta, addValuesToAdd, addValuesToAdd, addValuesToDelete, addValuesToDelete, addValueToAdd, addValueToDelete, addValueToReplace, applyDefinition, applyResults, applyTo, applyTo, applyTo, applyToMatchingPath, applyTransformer, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, clear, clearValuesToAdd, clearValuesToDelete, clearValuesToReplace, cloneWithChangedParentPath, contains, contains, createReverseDelta, debugDump, distributeReplace, equals, equivalent, filterValues, filterYields, findValueToAddOrReplace, foreach, getAnyValue, getDefinition, getElementName, getEstimatedOldValues, getItemNew, getItemNew, getItemNewMatchingPath, getNewValues, getParentPath, getPath, getRealValuesToAdd, getRealValuesToDelete, getRealValuesToReplace, getValueChanges, getValues, getValuesToAdd, getValuesToDelete, getValuesToReplace, isAdd, isApplicableTo, isDelete, isEmpty, isImmutable, isLiterallyEmpty, isMetadataRelated, isOperational, isRaw, isRedundant, isReplace, isValueToAdd, isValueToDelete, isValueToReplace, merge, mergeValuesToAdd, mergeValuesToAdd, mergeValuesToDelete, mergeValuesToDelete, mergeValuesToReplace, mergeValuesToReplace, mergeValueToAdd, mergeValueToDelete, mergeValueToReplace, narrow, normalize, removeValueToAdd, removeValueToDelete, removeValueToReplace, resetValuesToAdd, resetValuesToDelete, resetValuesToReplace, revive, setElementName, setEstimatedOldValues, setOriginTypeRecursive, setParentPath, setValuesToReplace, setValuesToReplace, setValueToReplace, setValueToReplace, simplify, size, toDeltaSetTriple, toString, validate, validate, validateValues, validateValues
Methods inherited from interface com.evolveum.midpoint.prism.ParentVisitable
acceptParentVisitor
Methods inherited from interface com.evolveum.midpoint.prism.PrismContainerable
getComplexTypeDefinition, getDefinition
-
Method Details
-
getItemClass
Class<PrismContainer> getItemClass()- Specified by:
getItemClass
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
getValues
Returns all values regardless of whether they are added or removed or replaced. Useful for iterating over all the changed values. -
setDefinition
Description copied from interface:ItemDelta
TODO do we need this method publicly?- Specified by:
setDefinition
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
applyDefinition
void applyDefinition(@NotNull @NotNull PrismContainerDefinition<V> definition) throws SchemaException Description copied from interface:ItemDelta
Note: this may change the implementation of the prism values in the delta.- Specified by:
applyDefinition
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Throws:
SchemaException
-
hasCompleteDefinition
boolean hasCompleteDefinition()- Specified by:
hasCompleteDefinition
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
getCompileTimeClass
- Specified by:
getCompileTimeClass
in interfacePrismContainerable<V extends Containerable>
-
isApplicableToType
-
getSubDelta
- Specified by:
getSubDelta
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
expand
Post processing of delta to expand missing values from the object. E.g. a delete deltas may be "id-only" so they contain only id of the value to delete. In such case locate the full value in the object and fill it into the delta. This method may even delete id-only values that are no longer present in the object.- Throws:
SchemaException
-
checkConsistence
- Specified by:
checkConsistence
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
clone
ContainerDelta<V> clone()- Specified by:
clone
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-