Class ItemDeltaImpl<V extends PrismValue,D extends ItemDefinition>
- java.lang.Object
- 
- com.evolveum.midpoint.prism.AbstractFreezable
- 
- com.evolveum.midpoint.prism.impl.delta.ItemDeltaImpl<V,D>
 
 
- 
- All Implemented Interfaces:
- ItemDelta<V,D>,- Freezable,- Itemable,- PathVisitable,- PrismContextSensitive,- Visitable,- DebugDumpable,- Foreachable<V>,- Serializable
 - Direct Known Subclasses:
- ContainerDeltaImpl,- PropertyDeltaImpl,- ReferenceDeltaImpl
 
 public abstract class ItemDeltaImpl<V extends PrismValue,D extends ItemDefinition> extends AbstractFreezable implements ItemDelta<V,D> - Author:
- Radovan Semancik
- See Also:
- Serialized Form
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected Ddefinitionprotected ItemNameelementNameName of the propertyprotected Collection<V>estimatedOldValuesprotected ItemPathfullPathprotected ItemPathparentPathParent path of the property (path to the property container)protected Collection<V>valuesToAddprotected Collection<V>valuesToDeleteprotected Collection<V>valuesToReplace- 
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRING
 
- 
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedItemDeltaImpl(ItemPath path, D itemDefinition, PrismContext prismContext)protectedItemDeltaImpl(ItemPath itemPath, QName elementName, D itemDefinition, PrismContext prismContext)protectedItemDeltaImpl(D itemDefinition, PrismContext prismContext)protectedItemDeltaImpl(QName elementName, D itemDefinition, PrismContext prismContext)
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor visitor)voidaccept(Visitor visitor, boolean includeOldValues)voidaccept(Visitor visitor, ItemPath path, boolean recursive)voidaddEstimatedOldValue(V newValue)voidaddEstimatedOldValues(Collection<V> newValues)voidaddEstimatedOldValues(V... newValues)booleanaddsAnyValue()voidaddToReplaceDelta()voidaddValuesToAdd(Collection<V> newValues)voidaddValuesToAdd(V... newValues)voidaddValuesToDelete(Collection<V> newValues)voidaddValuesToDelete(V... newValues)voidaddValueToAdd(V newValue)voidaddValueToDelete(V newValue)voidaddValueToReplace(V newValue)voidapplyDefinition(D definition)voidapplyDefinition(D itemDefinition, boolean force)voidapplyTo(Item item)voidapplyTo(Item item, ParameterizedEquivalenceStrategy strategy)voidapplyTo(PrismContainerValue containerValue)voidapplyTo(PrismContainerValue containerValue, ParameterizedEquivalenceStrategy strategy)voidapplyToMatchingPath(Item item, ParameterizedEquivalenceStrategy strategy)Applies delta to item were path of the delta and path of the item matches (skips path checks).voidassertDefinitions(boolean tolarateRawValues, String sourceDescription)voidassertDefinitions(String sourceDescription)voidcheckConsistence()voidcheckConsistence(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope)voidcheckConsistence(ConsistencyCheckScope scope)voidclear()voidclearValuesToAdd()voidclearValuesToDelete()voidclearValuesToReplace()abstract ItemDeltaImpl<V,D>clone()ItemDeltaImpl<V,D>cloneWithChangedParentPath(ItemPath newParentPath)booleancontains(ItemDelta<V,D> other)Returns true if the other delta is a complete subset of this delta.booleancontains(ItemDelta<V,D> other, EquivalenceStrategy strategy)Returns true if the other delta is a complete subset of this delta.protected voidcopyValues(ItemDeltaImpl<V,D> clone)ItemDelta<V,D>createReverseDelta()StringdebugDump(int indent)voiddistributeReplace(Collection<V> existingValues)Distributes the replace values of this delta to add and delete with respect to provided existing values.protected voiddumpValues(StringBuilder sb, String label, Collection<V> values, int indent)booleanequals(Object obj)booleanequivalent(ItemDelta other)Deltas are equivalent if they have the same result when applied to an object.voidfilterValues(Function<V,Boolean> function)VfindValueToAddOrReplace(V value)voidforeach(Processor<V> processor)Will call processor for every element in the instance.VgetAnyValue()DgetDefinition()ItemNamegetElementName()Collection<V>getEstimatedOldValues()Returns estimated state of the old value before the delta is applied.abstract Class<? extends Item>getItemClass()Item<V,D>getItemNew()Returns the "new" state of the property - the state that would be after the delta is applied.Item<V,D>getItemNew(Item<V,D> itemOld)Returns the "new" state of the property - the state that would be after the delta is applied.Item<V,D>getItemNewMatchingPath(Item<V,D> itemOld)Returns the "new" state of the property - the state that would be after the delta is applied.ItemPathgetParentPath()@NotNull ItemPathgetPath()PrismContextgetPrismContext()ItemDelta<?,?>getSubDelta(ItemPath path)Collection<V>getValueChanges(PlusMinusZero mode)Collection<V>getValuesToAdd()Collection<V>getValuesToDelete()Collection<V>getValuesToReplace()booleanhasCompleteDefinition()inthashCode()booleanisAdd()booleanisApplicableTo(Item item)protected abstract booleanisApplicableToType(Item item)booleanisDelete()booleanisEmpty()booleanisInFactEmpty()booleanisRaw()booleanisRedundant(PrismObject<? extends Objectable> object, boolean assumeMissingItems)Checks if the delta is redundant w.r.t.booleanisRedundant(PrismObject<? extends Objectable> object, Comparator<V> comparator, boolean assumeMissingItems)booleanisReplace()protected booleanisValueEquivalent(V a, V b)booleanisValueToAdd(V value)booleanisValueToAdd(V value, boolean ignoreMetadata)booleanisValueToDelete(V value)booleanisValueToDelete(V value, boolean ignoreMetadata)booleanisValueToReplace(V value)booleanisValueToReplace(V value, boolean ignoreMetadata)voidmerge(ItemDelta<V,D> deltaToMerge)Merge specified delta to this delta.voidmergeValuesToAdd(Collection<V> newValues)voidmergeValuesToAdd(V[] newValues)voidmergeValuesToDelete(Collection<V> newValues)voidmergeValuesToDelete(V[] newValues)voidmergeValuesToReplace(Collection<V> newValues)voidmergeValuesToReplace(V[] newValues)voidmergeValueToAdd(V newValue)voidmergeValueToDelete(V newValue)voidmergeValueToReplace(V newValue)ItemDelta<V,D>narrow(PrismObject<? extends Objectable> object, boolean assumeMissingItems)Filters out all delta values that are meaningless to apply.ItemDelta<V,D>narrow(PrismObject<? extends Objectable> object, Comparator<V> comparator, boolean assumeMissingItems)Filters out all delta values that are meaningless to apply.voidnormalize()booleanremoveValueToAdd(PrismValue valueToRemove)booleanremoveValueToDelete(PrismValue valueToRemove)booleanremoveValueToReplace(PrismValue valueToRemove)voidresetValuesToAdd()voidresetValuesToDelete()voidresetValuesToReplace()voidrevive(PrismContext prismContext)voidsetDefinition(D definition)voidsetElementName(QName elementName)voidsetEstimatedOldValues(Collection<V> estimatedOldValues)voidsetOriginTypeRecursive(OriginType originType)Set origin type to all values and subvaluesvoidsetParentPath(ItemPath parentPath)voidsetValuesToReplace(Collection<V> newValues)voidsetValuesToReplace(V... newValues)voidsetValueToReplace()Sets empty value to replace.voidsetValueToReplace(V newValue)voidsimplify()Transforms the delta to the simplest (and safest) form.intsize()PrismValueDeltaSetTriple<V>toDeltaSetTriple()PrismValueDeltaSetTriple<V>toDeltaSetTriple(Item<V,D> itemOld)StringtoString()voidvalidate()voidvalidate(String contextDescription)voidvalidateValues(ItemDeltaValidator<V> validator)voidvalidateValues(ItemDeltaValidator<V> validator, Collection<V> oldValues)- 
Methods inherited from class com.evolveum.midpoint.prism.AbstractFreezablefreeze, isImmutable, isMutable, performFreeze
 - 
Methods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpabledebugDump, debugDumpLazily, debugDumpLazily
 - 
Methods inherited from interface com.evolveum.midpoint.prism.FreezablecheckImmutable, checkMutable, freeze
 - 
Methods inherited from interface com.evolveum.midpoint.prism.delta.ItemDeltaisImmutable
 
- 
 
- 
- 
- 
Field Detail- 
elementNameprotected ItemName elementName Name of the property
 - 
parentPathprotected ItemPath parentPath Parent path of the property (path to the property container)
 - 
fullPathprotected ItemPath fullPath 
 - 
definitionprotected D extends ItemDefinition definition 
 - 
valuesToReplaceprotected Collection<V extends PrismValue> valuesToReplace 
 - 
valuesToAddprotected Collection<V extends PrismValue> valuesToAdd 
 - 
valuesToDeleteprotected Collection<V extends PrismValue> valuesToDelete 
 - 
estimatedOldValuesprotected Collection<V extends PrismValue> estimatedOldValues 
 
- 
 - 
Constructor Detail- 
ItemDeltaImplprotected ItemDeltaImpl(D itemDefinition, PrismContext prismContext) 
 - 
ItemDeltaImplprotected ItemDeltaImpl(QName elementName, D itemDefinition, PrismContext prismContext) 
 - 
ItemDeltaImplprotected ItemDeltaImpl(ItemPath itemPath, QName elementName, D itemDefinition, PrismContext prismContext) 
 - 
ItemDeltaImplprotected ItemDeltaImpl(ItemPath path, D itemDefinition, PrismContext prismContext) 
 
- 
 - 
Method Detail- 
getElementNamepublic ItemName getElementName() - Specified by:
- getElementNamein interface- Itemable
- Specified by:
- getElementNamein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setElementNamepublic void setElementName(QName elementName) - Specified by:
- setElementNamein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getParentPathpublic ItemPath getParentPath() - Specified by:
- getParentPathin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setParentPathpublic void setParentPath(ItemPath parentPath) - Specified by:
- setParentPathin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getPath@NotNull public @NotNull ItemPath getPath() - Specified by:
- getPathin interface- Itemable
- Specified by:
- getPathin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getDefinitionpublic D getDefinition() - Specified by:
- getDefinitionin interface- Itemable
- Specified by:
- getDefinitionin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setDefinitionpublic void setDefinition(D definition) - Specified by:
- setDefinitionin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
acceptpublic void accept(Visitor visitor) - Specified by:
- acceptin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Specified by:
- acceptin interface- Visitable<V extends PrismValue>
 
 - 
acceptpublic void accept(Visitor visitor, boolean includeOldValues) - Specified by:
- acceptin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
sizepublic int size() - Specified by:
- sizein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
acceptpublic void accept(Visitor visitor, ItemPath path, boolean recursive) - Specified by:
- acceptin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Specified by:
- acceptin interface- PathVisitable
 
 - 
applyDefinitionpublic void applyDefinition(D definition) throws SchemaException - Specified by:
- applyDefinitionin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
hasCompleteDefinitionpublic boolean hasCompleteDefinition() - Specified by:
- hasCompleteDefinitionin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getPrismContextpublic PrismContext getPrismContext() - Specified by:
- getPrismContextin interface- PrismContextSensitive
 
 - 
getItemClasspublic abstract Class<? extends Item> getItemClass() - Specified by:
- getItemClassin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getValuesToAddpublic Collection<V> getValuesToAdd() - Specified by:
- getValuesToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
clearValuesToAddpublic void clearValuesToAdd() - Specified by:
- clearValuesToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getValuesToDeletepublic Collection<V> getValuesToDelete() - Specified by:
- getValuesToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
clearValuesToDeletepublic void clearValuesToDelete() - Specified by:
- clearValuesToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getValuesToReplacepublic Collection<V> getValuesToReplace() - Specified by:
- getValuesToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
clearValuesToReplacepublic void clearValuesToReplace() - Specified by:
- clearValuesToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addValuesToAddpublic void addValuesToAdd(Collection<V> newValues) - Specified by:
- addValuesToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addValuesToAddpublic void addValuesToAdd(V... newValues) - Specified by:
- addValuesToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addValueToAddpublic void addValueToAdd(V newValue) - Specified by:
- addValueToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
removeValueToAddpublic boolean removeValueToAdd(PrismValue valueToRemove) - Specified by:
- removeValueToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
removeValueToDeletepublic boolean removeValueToDelete(PrismValue valueToRemove) - Specified by:
- removeValueToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
removeValueToReplacepublic boolean removeValueToReplace(PrismValue valueToRemove) - Specified by:
- removeValueToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValuesToAddpublic void mergeValuesToAdd(Collection<V> newValues) - Specified by:
- mergeValuesToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValuesToAddpublic void mergeValuesToAdd(V[] newValues) - Specified by:
- mergeValuesToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValueToAddpublic void mergeValueToAdd(V newValue) - Specified by:
- mergeValueToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addValuesToDeletepublic void addValuesToDelete(Collection<V> newValues) - Specified by:
- addValuesToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addValuesToDeletepublic void addValuesToDelete(V... newValues) - Specified by:
- addValuesToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addValueToDeletepublic void addValueToDelete(V newValue) - Specified by:
- addValueToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValuesToDeletepublic void mergeValuesToDelete(Collection<V> newValues) - Specified by:
- mergeValuesToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValuesToDeletepublic void mergeValuesToDelete(V[] newValues) - Specified by:
- mergeValuesToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValueToDeletepublic void mergeValueToDelete(V newValue) - Specified by:
- mergeValueToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
resetValuesToAddpublic void resetValuesToAdd() - Specified by:
- resetValuesToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
resetValuesToDeletepublic void resetValuesToDelete() - Specified by:
- resetValuesToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
resetValuesToReplacepublic void resetValuesToReplace() - Specified by:
- resetValuesToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setValuesToReplacepublic void setValuesToReplace(Collection<V> newValues) - Specified by:
- setValuesToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setValuesToReplacepublic void setValuesToReplace(V... newValues) - Specified by:
- setValuesToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setValueToReplacepublic void setValueToReplace() Sets empty value to replace. This efficiently means removing all values.- Specified by:
- setValueToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setValueToReplacepublic void setValueToReplace(V newValue) - Specified by:
- setValueToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addValueToReplacepublic void addValueToReplace(V newValue) - Specified by:
- addValueToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValuesToReplacepublic void mergeValuesToReplace(Collection<V> newValues) - Specified by:
- mergeValuesToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValuesToReplacepublic void mergeValuesToReplace(V[] newValues) - Specified by:
- mergeValuesToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergeValueToReplacepublic void mergeValueToReplace(V newValue) - Specified by:
- mergeValueToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isValueToAddpublic boolean isValueToAdd(V value) - Specified by:
- isValueToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isValueToAddpublic boolean isValueToAdd(V value, boolean ignoreMetadata) - Specified by:
- isValueToAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isValueToDeletepublic boolean isValueToDelete(V value) - Specified by:
- isValueToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isValueToDeletepublic boolean isValueToDelete(V value, boolean ignoreMetadata) - Specified by:
- isValueToDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isValueToReplacepublic boolean isValueToReplace(V value) - Specified by:
- isValueToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isValueToReplacepublic boolean isValueToReplace(V value, boolean ignoreMetadata) - Specified by:
- isValueToReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getAnyValuepublic V getAnyValue() - Specified by:
- getAnyValuein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isEmptypublic boolean isEmpty() - Specified by:
- isEmptyin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isInFactEmptypublic boolean isInFactEmpty() - Specified by:
- isInFactEmptyin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addsAnyValuepublic boolean addsAnyValue() - Specified by:
- addsAnyValuein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
foreachpublic void foreach(Processor<V> processor) Description copied from interface:ForeachableWill call processor for every element in the instance. This is NOT recursive. E.g. in case of collection of collections the processor will NOT be called for elements of the inner collections. If you need recursion please have a look at Visitor.- Specified by:
- foreachin interface- Foreachable<V extends PrismValue>
- Specified by:
- foreachin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getEstimatedOldValuespublic Collection<V> getEstimatedOldValues() Returns estimated state of the old value before the delta is applied. This information is not entirely reliable. The state might change between the value is read and the delta is applied. This is property is optional and even if provided it is only for for informational purposes. If this method returns null then it should be interpreted as "I do not know". In that case the delta has no information about the old values. If this method returns empty collection then it should be interpreted that we know that there were no values in this item before the delta was applied.- Specified by:
- getEstimatedOldValuesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Returns:
- estimated state of the old value before the delta is applied (may be null).
 
 - 
setEstimatedOldValuespublic void setEstimatedOldValues(Collection<V> estimatedOldValues) - Specified by:
- setEstimatedOldValuesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addEstimatedOldValuespublic void addEstimatedOldValues(Collection<V> newValues) - Specified by:
- addEstimatedOldValuesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addEstimatedOldValuespublic void addEstimatedOldValues(V... newValues) - Specified by:
- addEstimatedOldValuesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
addEstimatedOldValuepublic void addEstimatedOldValue(V newValue) - Specified by:
- addEstimatedOldValuein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
normalizepublic void normalize() - Specified by:
- normalizein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isReplacepublic boolean isReplace() - Specified by:
- isReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isAddpublic boolean isAdd() - Specified by:
- isAddin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isDeletepublic boolean isDelete() - Specified by:
- isDeletein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
clearpublic void clear() - Specified by:
- clearin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
narrowpublic ItemDelta<V,D> narrow(PrismObject<? extends Objectable> object, boolean assumeMissingItems) Filters out all delta values that are meaningless to apply. E.g. removes all values to add that the property already has, removes all values to delete that the property does not have, etc. Returns null if the delta is not needed at all.- Specified by:
- narrowin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Parameters:
- assumeMissingItems- Assumes that some items in the object may be missing. So replacing them by null or deleting some values from them cannot be narrowed out.
 
 - 
narrowpublic ItemDelta<V,D> narrow(PrismObject<? extends Objectable> object, Comparator<V> comparator, boolean assumeMissingItems) Filters out all delta values that are meaningless to apply. E.g. removes all values to add that the property already has, removes all values to delete that the property does not have, etc. Returns null if the delta is not needed at all.- Specified by:
- narrowin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Parameters:
- assumeMissingItems- Assumes that some items in the object may be missing. So replacing them by null or deleting some values from them cannot be narrowed out.
 
 - 
isRedundantpublic boolean isRedundant(PrismObject<? extends Objectable> object, boolean assumeMissingItems) Checks if the delta is redundant w.r.t. current state of the object. I.e. if it changes the current object state.- Specified by:
- isRedundantin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- assumeMissingItems- Assumes that some items in the object may be missing. So delta that replaces them by null or deletes some values from them cannot be considered redundant.
 
 - 
isRedundantpublic boolean isRedundant(PrismObject<? extends Objectable> object, Comparator<V> comparator, boolean assumeMissingItems) - Specified by:
- isRedundantin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- assumeMissingItems- Assumes that some items in the object may be missing. So delta that replaces them by null or deletes some values from them cannot be considered redundant.
 
 - 
validatepublic void validate() throws SchemaException- Specified by:
- validatein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
validatepublic void validate(String contextDescription) throws SchemaException - Specified by:
- validatein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
validateValuespublic void validateValues(ItemDeltaValidator<V> validator) throws SchemaException - Specified by:
- validateValuesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
validateValuespublic void validateValues(ItemDeltaValidator<V> validator, Collection<V> oldValues) throws SchemaException - Specified by:
- validateValuesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
checkConsistencepublic void checkConsistence() - Specified by:
- checkConsistencein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
checkConsistencepublic void checkConsistence(ConsistencyCheckScope scope) - Specified by:
- checkConsistencein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
checkConsistencepublic void checkConsistence(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope)- Specified by:
- checkConsistencein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
distributeReplacepublic void distributeReplace(Collection<V> existingValues) Distributes the replace values of this delta to add and delete with respect to provided existing values.- Specified by:
- distributeReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
mergepublic void merge(ItemDelta<V,D> deltaToMerge) Merge specified delta to this delta. This delta is assumed to be chronologically earlier, delta provided in the parameter is chronologically later. TODO do we expect that the paths of "this" delta and deltaToMerge are the same? From the code it seems so.- Specified by:
- mergein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
getValueChangespublic Collection<V> getValueChanges(PlusMinusZero mode) - Specified by:
- getValueChangesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
simplifypublic void simplify() Transforms the delta to the simplest (and safest) form. E.g. it will transform add delta for single-value properties to replace delta.- Specified by:
- simplifyin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
applyTopublic void applyTo(PrismContainerValue containerValue) throws SchemaException - Specified by:
- applyToin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
applyTopublic void applyTo(PrismContainerValue containerValue, ParameterizedEquivalenceStrategy strategy) throws SchemaException - Specified by:
- applyToin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
applyTopublic void applyTo(Item item) throws SchemaException - Specified by:
- applyToin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
applyTopublic void applyTo(Item item, ParameterizedEquivalenceStrategy strategy) throws SchemaException - Specified by:
- applyToin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
applyToMatchingPathpublic void applyToMatchingPath(Item item, ParameterizedEquivalenceStrategy strategy) throws SchemaException Applies delta to item were path of the delta and path of the item matches (skips path checks).- Specified by:
- applyToMatchingPathin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
getSubDeltapublic ItemDelta<?,?> getSubDelta(ItemPath path) - Specified by:
- getSubDeltain interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isApplicableTopublic boolean isApplicableTo(Item item) - Specified by:
- isApplicableToin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
isApplicableToTypeprotected abstract boolean isApplicableToType(Item item) 
 - 
getItemNewpublic Item<V,D> getItemNew() throws SchemaException Returns the "new" state of the property - the state that would be after the delta is applied. WARNING: Output of this method should be used for preview only. It should NOT be placed into prism structures. Not even cloned. This method may return dummy items or similar items that are not usable. Values in the items should be OK, but they may need cloning.- Specified by:
- getItemNewin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
getItemNewpublic Item<V,D> getItemNew(Item<V,D> itemOld) throws SchemaException Returns the "new" state of the property - the state that would be after the delta is applied. WARNING: Output of this method should be used for preview only. It should NOT be placed into prism structures. Not even cloned. This method may return dummy items or similar items that are not usable. Values in the items should be OK, but they may need cloning.- Specified by:
- getItemNewin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
getItemNewMatchingPathpublic Item<V,D> getItemNewMatchingPath(Item<V,D> itemOld) throws SchemaException Returns the "new" state of the property - the state that would be after the delta is applied. WARNING: This is supposed to work only if the paths of the the delta and the item matches. E.g. it is NOT usable for application of subdeltas to containers.- Specified by:
- getItemNewMatchingPathin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
containspublic boolean contains(ItemDelta<V,D> other) Returns true if the other delta is a complete subset of this delta. I.e. if all the statements of the other delta are already contained in this delta. As a consequence it also returns true if the two deltas are equal.- Specified by:
- containsin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
containspublic boolean contains(ItemDelta<V,D> other, EquivalenceStrategy strategy) Returns true if the other delta is a complete subset of this delta. I.e. if all the statements of the other delta are already contained in this delta. As a consequence it also returns true if the two deltas are equal.- Specified by:
- containsin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
filterValuespublic void filterValues(Function<V,Boolean> function) - Specified by:
- filterValuesin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
clonepublic abstract ItemDeltaImpl<V,D> clone() - Specified by:
- clonein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Overrides:
- clonein class- Object
 
 - 
cloneWithChangedParentPathpublic ItemDeltaImpl<V,D> cloneWithChangedParentPath(ItemPath newParentPath) - Specified by:
- cloneWithChangedParentPathin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
copyValuesprotected void copyValues(ItemDeltaImpl<V,D> clone) 
 - 
toDeltaSetTriplepublic PrismValueDeltaSetTriple<V> toDeltaSetTriple() - Specified by:
- toDeltaSetTriplein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
toDeltaSetTriplepublic PrismValueDeltaSetTriple<V> toDeltaSetTriple(Item<V,D> itemOld) - Specified by:
- toDeltaSetTriplein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
assertDefinitionspublic void assertDefinitions(String sourceDescription) throws SchemaException - Specified by:
- assertDefinitionsin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
assertDefinitionspublic void assertDefinitions(boolean tolarateRawValues, String sourceDescription) throws SchemaException- Specified by:
- assertDefinitionsin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
isRawpublic boolean isRaw() - Specified by:
- isRawin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
revivepublic void revive(PrismContext prismContext) throws SchemaException - Specified by:
- revivein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
applyDefinitionpublic void applyDefinition(D itemDefinition, boolean force) throws SchemaException - Specified by:
- applyDefinitionin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Throws:
- SchemaException
 
 - 
equivalentpublic boolean equivalent(ItemDelta other) Deltas are equivalent if they have the same result when applied to an object. I.e. meta-data and other "decorations" such as old values are not considered in this comparison.- Specified by:
- equivalentin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
equalspublic boolean equals(Object obj) - Specified by:
- equalsin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Overrides:
- equalsin class- Object
 
 - 
toStringpublic String toString() - Specified by:
- toStringin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
- Overrides:
- toStringin class- Object
 
 - 
debugDumppublic String debugDump(int indent) - Specified by:
- debugDumpin interface- DebugDumpable
- Specified by:
- debugDumpin interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
dumpValuesprotected void dumpValues(StringBuilder sb, String label, Collection<V> values, int indent) 
 - 
addToReplaceDeltapublic void addToReplaceDelta() - Specified by:
- addToReplaceDeltain interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
createReverseDeltapublic ItemDelta<V,D> createReverseDelta() - Specified by:
- createReverseDeltain interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
findValueToAddOrReplacepublic V findValueToAddOrReplace(V value) - Specified by:
- findValueToAddOrReplacein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 - 
setOriginTypeRecursivepublic void setOriginTypeRecursive(OriginType originType) Set origin type to all values and subvalues- Specified by:
- setOriginTypeRecursivein interface- ItemDelta<V extends PrismValue,D extends ItemDefinition>
 
 
- 
 
-