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, valuesToReplaceFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Constructor Summary
ConstructorsConstructorDescriptionContainerDeltaImpl(ItemPath propertyPath, PrismContainerDefinition itemDefinition, PrismContext prismContext) ContainerDeltaImpl(ItemPath parentPath, QName name, PrismContainerDefinition itemDefinition, PrismContext prismContext) ContainerDeltaImpl(PrismContainerDefinition itemDefinition, PrismContext prismContext) -
Method Summary
Modifier and TypeMethodDescriptionvoidacceptParentVisitor(Visitor visitor) voidapplyDefinition(PrismContainerDefinition<V> definition) voidcheckConsistence(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope) clone()protected voidcopyValues(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 voiddumpValues(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.booleanbooleanisApplicableToType(Item item) protected booleanisValueEquivalent(PrismContainerValue<V> a, PrismContainerValue<V> b, ParameterizedEquivalenceStrategy strategy) voidsetDefinition(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, validateValuesMethods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutable, performFreezeMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freezeMethods 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, validateValuesMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerable
getComplexTypeDefinition, getDefinitionMethods 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:
getItemClassin interfaceContainerDelta<V extends Containerable>- Specified by:
getItemClassin interfaceItemDelta<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Specified by:
getItemClassin 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:
getValuesin interfaceContainerDelta<V extends Containerable>
-
setDefinition
- Specified by:
setDefinitionin interfaceContainerDelta<V extends Containerable>- Specified by:
setDefinitionin interfaceItemDelta<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Overrides:
setDefinitionin classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>>
-
applyDefinition
- Specified by:
applyDefinitionin interfaceContainerDelta<V extends Containerable>- Specified by:
applyDefinitionin interfaceItemDelta<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Overrides:
applyDefinitionin classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Throws:
SchemaException
-
hasCompleteDefinition
public boolean hasCompleteDefinition()- Specified by:
hasCompleteDefinitionin interfaceContainerDelta<V extends Containerable>- Specified by:
hasCompleteDefinitionin interfaceItemDelta<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Overrides:
hasCompleteDefinitionin classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>>
-
getCompileTimeClass
- Specified by:
getCompileTimeClassin interfaceContainerDelta<V extends Containerable>- Specified by:
getCompileTimeClassin interfacePrismContainerable<V extends Containerable>
-
isApplicableToType
- Specified by:
isApplicableToTypein interfaceContainerDelta<V extends Containerable>- Specified by:
isApplicableToTypein classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>>
-
getSubDelta
- Specified by:
getSubDeltain interfaceContainerDelta<V extends Containerable>- Specified by:
getSubDeltain interfaceItemDelta<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Overrides:
getSubDeltain 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:
expandin interfaceContainerDelta<V extends Containerable>- Throws:
SchemaException
-
isValueEquivalent
protected boolean isValueEquivalent(PrismContainerValue<V> a, PrismContainerValue<V> b, ParameterizedEquivalenceStrategy strategy) - Overrides:
isValueEquivalentin classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>>
-
checkConsistence
public void checkConsistence(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope) - Specified by:
checkConsistencein interfaceContainerDelta<V extends Containerable>- Specified by:
checkConsistencein interfaceItemDelta<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Overrides:
checkConsistencein classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>>
-
clone
- Specified by:
clonein interfaceContainerDelta<V extends Containerable>- Specified by:
clonein interfaceItemDelta<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>> - Specified by:
clonein 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:
dumpValuesin classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>>
-
acceptParentVisitor
- Specified by:
acceptParentVisitorin interfaceParentVisitable
-