Class ContainerDeltaImpl<V extends Containerable>
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.delta.ItemDeltaImpl<PrismContainerValue<V>,PrismContainerDefinition<V>>
com.evolveum.midpoint.prism.impl.delta.ContainerDeltaImpl<V>
- All Implemented Interfaces:
ContainerDelta<V>
,ItemDelta<PrismContainerValue<V>,
,PrismContainerDefinition<V>> Freezable
,Itemable
,ParentVisitable
,PathVisitable
,PrismContainerable<V>
,PrismContextSensitive
,Visitable
,DebugDumpable
,Foreachable<PrismContainerValue<V>>
,Serializable
public class ContainerDeltaImpl<V extends Containerable>
extends ItemDeltaImpl<PrismContainerValue<V>,PrismContainerDefinition<V>>
implements ContainerDelta<V>
- See Also:
-
Field Summary
Fields inherited from class com.evolveum.midpoint.prism.impl.delta.ItemDeltaImpl
definition, elementName, parentPath, valuesToAdd, valuesToDelete, valuesToReplace
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Constructor Summary
ConstructorDescriptionContainerDeltaImpl
(ItemPath propertyPath, PrismContainerDefinition itemDefinition, PrismContext prismContext) ContainerDeltaImpl
(ItemPath parentPath, QName name, PrismContainerDefinition itemDefinition, PrismContext prismContext) ContainerDeltaImpl
(PrismContainerDefinition itemDefinition, PrismContext prismContext) -
Method Summary
Modifier and TypeMethodDescriptionvoid
acceptParentVisitor
(Visitor visitor) void
applyDefinition
(PrismContainerDefinition<V> definition) void
checkConsistence
(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope) clone()
protected void
copyValues
(ContainerDeltaImpl<V> clone) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createDelta
(ItemPath containerPath, PrismContainerDefinition<O> objectDefinition) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createDelta
(ItemPath containerPath, PrismObjectDefinition<O> objectDefinition) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createDelta
(ItemPath containerPath, Class<O> type, PrismContext prismContext) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createModificationAdd
(ItemPath containerPath, Class<O> type, PrismContext prismContext, PrismContainerValue<T> cValue) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createModificationAdd
(ItemPath containerPath, Class<O> type, PrismContext prismContext, T containerable) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createModificationDelete
(ItemPath containerPath, Class<O> type, PrismContext prismContext, PrismContainerValue<T> cValue) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createModificationDelete
(ItemPath containerPath, Class<O> type, PrismContext prismContext, T containerable) static <T extends Containerable>
ContainerDeltaImpl<T>createModificationReplace
(ItemName containerName, PrismObjectDefinition<?> objectDefinition, PrismContainerValue... cValues) Deprecated.static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createModificationReplace
(ItemPath containerPath, Class<O> type, PrismContext prismContext, PrismContainerValue<T> cValue) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createModificationReplace
(ItemPath containerPath, Class<O> type, PrismContext prismContext, Collection<T> containerables) static <T extends Containerable,
O extends Objectable>
ContainerDeltaImpl<T>createModificationReplace
(ItemPath containerPath, Class<O> type, PrismContext prismContext, T containerable) static Collection<? extends ItemDelta<?,
?>> createModificationReplaceContainerCollection
(ItemName containerName, PrismObjectDefinition<?> objectDefinition, PrismContainerValue... cValues) Deprecated.protected void
dumpValues
(StringBuilder sb, String label, Collection<PrismContainerValue<V>> values, int indent) <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) protected boolean
isValueEquivalent
(PrismContainerValue<V> a, PrismContainerValue<V> b, ParameterizedEquivalenceStrategy strategy) void
setDefinition
(PrismContainerDefinition<V> definition) Methods inherited from class com.evolveum.midpoint.prism.impl.delta.ItemDeltaImpl
accept, accept, accept, addEstimatedOldValue, addEstimatedOldValues, addEstimatedOldValues, addsAnyValue, addToReplaceDelta, addValuesToAdd, addValuesToAdd, addValuesToDelete, addValuesToDelete, addValueToAdd, addValueToDelete, addValueToReplace, applyDefinition, applyTo, applyTo, applyToMatchingPath, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, clear, clearValuesToAdd, clearValuesToDelete, clearValuesToReplace, cloneWithChangedParentPath, contains, contains, copyValues, createReverseDelta, debugDump, distributeReplace, equals, equivalent, filterValues, filterYields, findValueToAddOrReplace, foreach, getAnyValue, getDefinition, getElementName, getEstimatedOldValues, getItemNew, getItemNew, getItemNewMatchingPath, getParentPath, getPath, getPrismContext, getValueChanges, getValuesToAdd, getValuesToDelete, getValuesToReplace, hasAnyRawValue, hashCode, isAdd, isApplicableTo, isDelete, isEmpty, isLiterallyEmpty, 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 class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutable, performFreeze
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
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, addToReplaceDelta, addValuesToAdd, addValuesToAdd, addValuesToDelete, addValuesToDelete, addValueToAdd, addValueToDelete, addValueToReplace, applyDefinition, applyTo, applyTo, applyToMatchingPath, 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, getParentPath, getPath, getRealValuesToAdd, getRealValuesToDelete, getRealValuesToReplace, getValueChanges, getValuesToAdd, getValuesToDelete, getValuesToReplace, isAdd, isApplicableTo, isDelete, isEmpty, isImmutable, isLiterallyEmpty, 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.PrismContainerable
getComplexTypeDefinition, getDefinition
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
Constructor Details
-
ContainerDeltaImpl
-
ContainerDeltaImpl
public ContainerDeltaImpl(ItemPath propertyPath, PrismContainerDefinition itemDefinition, PrismContext prismContext) -
ContainerDeltaImpl
public ContainerDeltaImpl(ItemPath parentPath, QName name, PrismContainerDefinition itemDefinition, PrismContext prismContext)
-
-
Method Details
-
getItemClass
- Specified by:
getItemClass
in interfaceContainerDelta<V extends Containerable>
- Specified by:
getItemClass
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Specified by:
getItemClass
in classItemDeltaImpl<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.- Specified by:
getValues
in interfaceContainerDelta<V extends Containerable>
-
setDefinition
- Specified by:
setDefinition
in interfaceContainerDelta<V extends Containerable>
- Specified by:
setDefinition
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Overrides:
setDefinition
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
applyDefinition
- Specified by:
applyDefinition
in interfaceContainerDelta<V extends Containerable>
- Specified by:
applyDefinition
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Overrides:
applyDefinition
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Throws:
SchemaException
-
hasCompleteDefinition
public boolean hasCompleteDefinition()- Specified by:
hasCompleteDefinition
in interfaceContainerDelta<V extends Containerable>
- Specified by:
hasCompleteDefinition
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Overrides:
hasCompleteDefinition
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
getCompileTimeClass
- Specified by:
getCompileTimeClass
in interfaceContainerDelta<V extends Containerable>
- Specified by:
getCompileTimeClass
in interfacePrismContainerable<V extends Containerable>
-
isApplicableToType
- Specified by:
isApplicableToType
in interfaceContainerDelta<V extends Containerable>
- Specified by:
isApplicableToType
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
getSubDelta
- Specified by:
getSubDelta
in interfaceContainerDelta<V extends Containerable>
- Specified by:
getSubDelta
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Overrides:
getSubDelta
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
expand
public <O extends Objectable> void expand(PrismObject<O> object, Trace logger) throws SchemaException 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.- Specified by:
expand
in interfaceContainerDelta<V extends Containerable>
- Throws:
SchemaException
-
isValueEquivalent
protected boolean isValueEquivalent(PrismContainerValue<V> a, PrismContainerValue<V> b, ParameterizedEquivalenceStrategy strategy) - Overrides:
isValueEquivalent
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
checkConsistence
public void checkConsistence(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope) - Specified by:
checkConsistence
in interfaceContainerDelta<V extends Containerable>
- Specified by:
checkConsistence
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Overrides:
checkConsistence
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
clone
- Specified by:
clone
in interfaceContainerDelta<V extends Containerable>
- Specified by:
clone
in interfaceItemDelta<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>> - Specified by:
clone
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
copyValues
-
createDelta
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createDelta(ItemPath containerPath, Class<O> type, PrismContext prismContext) -
createDelta
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createDelta(ItemPath containerPath, PrismObjectDefinition<O> objectDefinition) -
createDelta
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createDelta(ItemPath containerPath, PrismContainerDefinition<O> objectDefinition) -
createModificationAdd
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createModificationAdd(ItemPath containerPath, Class<O> type, PrismContext prismContext, T containerable) throws SchemaException - Throws:
SchemaException
-
createModificationAdd
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createModificationAdd(ItemPath containerPath, Class<O> type, PrismContext prismContext, PrismContainerValue<T> cValue) throws SchemaException - Throws:
SchemaException
-
createModificationDelete
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createModificationDelete(ItemPath containerPath, Class<O> type, PrismContext prismContext, T containerable) throws SchemaException - Throws:
SchemaException
-
createModificationDelete
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createModificationDelete(ItemPath containerPath, Class<O> type, PrismContext prismContext, PrismContainerValue<T> cValue) throws SchemaException - Throws:
SchemaException
-
createModificationReplace
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createModificationReplace(ItemPath containerPath, Class<O> type, PrismContext prismContext, T containerable) throws SchemaException - Throws:
SchemaException
-
createModificationReplace
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createModificationReplace(ItemPath containerPath, Class<O> type, PrismContext prismContext, Collection<T> containerables) throws SchemaException - Throws:
SchemaException
-
createModificationReplace
public static <T extends Containerable,O extends Objectable> ContainerDeltaImpl<T> createModificationReplace(ItemPath containerPath, Class<O> type, PrismContext prismContext, PrismContainerValue<T> cValue) throws SchemaException - Throws:
SchemaException
-
createModificationReplaceContainerCollection
@Deprecated public static Collection<? extends ItemDelta<?,?>> createModificationReplaceContainerCollection(ItemName containerName, PrismObjectDefinition<?> objectDefinition, PrismContainerValue... cValues) Deprecated. -
createModificationReplace
@Deprecated public static <T extends Containerable> ContainerDeltaImpl<T> createModificationReplace(ItemName containerName, PrismObjectDefinition<?> objectDefinition, PrismContainerValue... cValues) Deprecated. -
dumpValues
protected void dumpValues(StringBuilder sb, String label, Collection<PrismContainerValue<V>> values, int indent) - Overrides:
dumpValues
in classItemDeltaImpl<PrismContainerValue<V extends Containerable>,
PrismContainerDefinition<V extends Containerable>>
-
acceptParentVisitor
- Specified by:
acceptParentVisitor
in interfaceParentVisitable
-