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:
- Serialized Form
-
-
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
Constructors Constructor Description ContainerDeltaImpl(ItemPath propertyPath, PrismContainerDefinition itemDefinition, PrismContext prismContext)ContainerDeltaImpl(ItemPath parentPath, QName name, PrismContainerDefinition itemDefinition, PrismContext prismContext)ContainerDeltaImpl(PrismContainerDefinition itemDefinition, PrismContext prismContext)
-
Method Summary
-
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, 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, 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 Detail
-
ContainerDeltaImpl
public ContainerDeltaImpl(PrismContainerDefinition itemDefinition, PrismContext prismContext)
-
ContainerDeltaImpl
public ContainerDeltaImpl(ItemPath propertyPath, PrismContainerDefinition itemDefinition, PrismContext prismContext)
-
ContainerDeltaImpl
public ContainerDeltaImpl(ItemPath parentPath, QName name, PrismContainerDefinition itemDefinition, PrismContext prismContext)
-
-
Method Detail
-
getItemClass
public Class<PrismContainer> 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
public <T extends Containerable> Collection<PrismContainerValue<T>> getValues(Class<T> type)
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
public void setDefinition(PrismContainerDefinition<V> definition)
- 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
public void applyDefinition(PrismContainerDefinition<V> definition) throws SchemaException
- 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
public Class<V> getCompileTimeClass()
- Specified by:
getCompileTimeClassin interfaceContainerDelta<V extends Containerable>- Specified by:
getCompileTimeClassin interfacePrismContainerable<V extends Containerable>
-
isApplicableToType
public boolean isApplicableToType(Item item)
- Specified by:
isApplicableToTypein interfaceContainerDelta<V extends Containerable>- Specified by:
isApplicableToTypein classItemDeltaImpl<PrismContainerValue<V extends Containerable>,PrismContainerDefinition<V extends Containerable>>
-
getSubDelta
public ItemDelta<?,?> getSubDelta(ItemPath path)
- 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
public ContainerDeltaImpl<V> 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
protected void copyValues(ContainerDeltaImpl<V> clone)
-
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
public void acceptParentVisitor(Visitor visitor)
- Specified by:
acceptParentVisitorin interfaceParentVisitable
-
-