Class ItemDeltaImpl<V extends PrismValue,D extends ItemDefinition<?>>
- All Implemented Interfaces:
ItemDelta<V,
,D> Freezable
,Itemable
,PathVisitable
,PrismContextSensitive
,Visitable
,DebugDumpable
,Foreachable<V>
,Serializable
- Direct Known Subclasses:
ContainerDeltaImpl
,PropertyDeltaImpl
,ReferenceDeltaImpl
- Author:
- Radovan Semancik
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected D
Definition of the item.protected ItemName
Name of the propertyprotected ItemPath
Parent path of the item (path to the property container)protected Collection<V>
protected Collection<V>
protected Collection<V>
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
void
addEstimatedOldValue
(V newValue) void
addEstimatedOldValues
(Collection<V> newValues) void
addEstimatedOldValues
(V... newValues) boolean
void
void
addValuesToAdd
(Collection<V> newValues) void
addValuesToAdd
(V... newValues) void
addValuesToDelete
(Collection<V> newValues) void
addValuesToDelete
(V... newValues) void
addValueToAdd
(V newValue) void
addValueToDelete
(V newValue) void
addValueToReplace
(V newValue) void
applyDefinition
(D definition) void
applyDefinition
(D itemDefinition, boolean force) void
void
applyTo
(PrismContainerValue containerValue) void
applyToMatchingPath
(@NotNull Item item) Applies delta to item.void
assertDefinitions
(boolean tolerateRawValues, Supplier<String> sourceDescriptionSupplier) void
assertDefinitions
(Supplier<String> sourceDescriptionSupplier) void
void
checkConsistence
(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope) void
void
clear()
void
void
void
abstract ItemDeltaImpl<V,
D> clone()
cloneWithChangedParentPath
(ItemPath newParentPath) boolean
Returns true if the other delta is a complete subset of this delta.boolean
contains
(ItemDelta<V, D> other, EquivalenceStrategy strategy) Returns true if the other delta is a complete subset of this delta.protected void
copyValues
(ItemDeltaImpl<V, D> clone) debugDump
(int indent) void
distributeReplace
(Collection<V> existingValues) Distributes the replace values of this delta to add and delete with respect to provided existing values.protected void
dumpValues
(StringBuilder sb, String label, Collection<V> values, int indent) boolean
boolean
equivalent
(ItemDelta other) Deltas are equivalent if they have the same result when applied to an object.void
filterValues
(Function<V, Boolean> function) void
filterYields
(BiFunction<V, PrismContainerValue, Boolean> function) findValueToAddOrReplace
(V value) void
Will call processor for every element in the instance.Returns estimated state of the old value before the delta is applied.Returns the "new" state of the property - the state that would be after the delta is applied.getItemNew
(Item<V, D> itemOld) Returns the "new" state of the property - the state that would be after the delta is applied.getItemNewMatchingPath
(Item<V, D> itemOld) Returns the "new" state of the property - the state that would be after the delta is applied.@NotNull ItemPath
getPath()
ItemDelta<?,
?> getSubDelta
(ItemPath path) getValueChanges
(PlusMinusZero mode) boolean
int
hashCode()
boolean
isAdd()
boolean
isApplicableTo
(Item item) protected abstract boolean
isApplicableToType
(Item item) boolean
isDelete()
boolean
isEmpty()
boolean
The original semantics ofItemDelta.isEmpty()
method: returns true if all of values to add, delete, replace are null.boolean
isRaw()
boolean
isRedundant
(PrismObject<? extends Objectable> object, @NotNull ParameterizedEquivalenceStrategy strategy, boolean assumeMissingItems) Checks if the delta is redundant w.r.t.boolean
protected boolean
isValueEquivalent
(V a, V b, ParameterizedEquivalenceStrategy strategy) boolean
isValueToAdd
(V value) boolean
isValueToDelete
(V value) boolean
isValueToReplace
(V value) void
Merge specified delta to this delta.void
mergeValuesToAdd
(Collection<V> newValues) void
mergeValuesToAdd
(V[] newValues) void
mergeValuesToDelete
(Collection<V> newValues) void
mergeValuesToDelete
(V[] newValues) void
mergeValuesToReplace
(Collection<V> newValues) void
mergeValuesToReplace
(V[] newValues) void
mergeValueToAdd
(V newValue) void
mergeValueToDelete
(V newValue) void
mergeValueToReplace
(V newValue) narrow
(@NotNull PrismObject<? extends Objectable> object, @NotNull Comparator<V> plusComparator, @NotNull Comparator<V> minusComparator, boolean assumeMissingItems) Filters out all delta values that are meaningless to apply.void
boolean
removeValueToAdd
(PrismValue valueToRemove) boolean
removeValueToDelete
(PrismValue valueToRemove) boolean
removeValueToReplace
(PrismValue valueToRemove) void
void
void
void
revive
(PrismContext prismContext) void
setDefinition
(D definition) void
setElementName
(QName elementName) void
setEstimatedOldValues
(Collection<V> estimatedOldValues) void
setOriginTypeRecursive
(OriginType originType) Set origin type to all values and subvaluesvoid
setParentPath
(ItemPath parentPath) void
setValuesToReplace
(Collection<V> newValues) void
setValuesToReplace
(V... newValues) void
Sets empty value to replace.void
setValueToReplace
(V newValue) void
simplify()
Transforms the delta to the simplest (and safest) form.int
size()
toDeltaSetTriple
(Item<V, D> itemOld) toString()
void
validate()
void
void
validateValues
(ItemDeltaValidator<V> validator) void
validateValues
(ItemDeltaValidator<V> validator, Collection<V> oldValues) 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
getRealValuesToAdd, getRealValuesToDelete, getRealValuesToReplace, isImmutable, isOperational
-
Field Details
-
elementName
Name of the property -
parentPath
Parent path of the item (path to the property container) -
definition
Definition of the item. -
valuesToReplace
-
valuesToAdd
-
valuesToDelete
-
-
Method Details
-
getElementName
- Specified by:
getElementName
in interfaceItemable
- Specified by:
getElementName
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setElementName
- Specified by:
setElementName
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getParentPath
- Specified by:
getParentPath
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setParentPath
- Specified by:
setParentPath
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getPath
- Specified by:
getPath
in interfaceItemable
- Specified by:
getPath
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getDefinition
- Specified by:
getDefinition
in interfaceItemable
- Specified by:
getDefinition
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setDefinition
- Specified by:
setDefinition
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
accept
- Specified by:
accept
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Specified by:
accept
in interfaceVisitable<V extends PrismValue>
-
accept
- Specified by:
accept
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
size
public int size()- Specified by:
size
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
accept
- Specified by:
accept
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Specified by:
accept
in interfacePathVisitable
-
applyDefinition
- Specified by:
applyDefinition
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
hasCompleteDefinition
public boolean hasCompleteDefinition()- Specified by:
hasCompleteDefinition
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getPrismContext
- Specified by:
getPrismContext
in interfacePrismContextSensitive
-
getItemClass
- Specified by:
getItemClass
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getValuesToAdd
- Specified by:
getValuesToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
clearValuesToAdd
public void clearValuesToAdd()- Specified by:
clearValuesToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getValuesToDelete
- Specified by:
getValuesToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
clearValuesToDelete
public void clearValuesToDelete()- Specified by:
clearValuesToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getValuesToReplace
- Specified by:
getValuesToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
clearValuesToReplace
public void clearValuesToReplace()- Specified by:
clearValuesToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addValuesToAdd
- Specified by:
addValuesToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addValuesToAdd
- Specified by:
addValuesToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addValueToAdd
- Specified by:
addValueToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
removeValueToAdd
- Specified by:
removeValueToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
removeValueToDelete
- Specified by:
removeValueToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
removeValueToReplace
- Specified by:
removeValueToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValuesToAdd
- Specified by:
mergeValuesToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValuesToAdd
- Specified by:
mergeValuesToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValueToAdd
- Specified by:
mergeValueToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addValuesToDelete
- Specified by:
addValuesToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addValuesToDelete
- Specified by:
addValuesToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addValueToDelete
- Specified by:
addValueToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isValueEquivalent
-
mergeValuesToDelete
- Specified by:
mergeValuesToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValuesToDelete
- Specified by:
mergeValuesToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValueToDelete
- Specified by:
mergeValueToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
resetValuesToAdd
public void resetValuesToAdd()- Specified by:
resetValuesToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
resetValuesToDelete
public void resetValuesToDelete()- Specified by:
resetValuesToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
resetValuesToReplace
public void resetValuesToReplace()- Specified by:
resetValuesToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setValuesToReplace
- Specified by:
setValuesToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setValuesToReplace
- Specified by:
setValuesToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setValueToReplace
public void setValueToReplace()Sets empty value to replace. This efficiently means removing all values.- Specified by:
setValueToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setValueToReplace
- Specified by:
setValueToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addValueToReplace
- Specified by:
addValueToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValuesToReplace
- Specified by:
mergeValuesToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValuesToReplace
- Specified by:
mergeValuesToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
mergeValueToReplace
- Specified by:
mergeValueToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isValueToAdd
- Specified by:
isValueToAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isValueToDelete
- Specified by:
isValueToDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isValueToReplace
- Specified by:
isValueToReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getAnyValue
- Specified by:
getAnyValue
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isLiterallyEmpty
public boolean isLiterallyEmpty()Description copied from interface:ItemDelta
The original semantics ofItemDelta.isEmpty()
method: returns true if all of values to add, delete, replace are null. TODO is this really needed?- Specified by:
isLiterallyEmpty
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addsAnyValue
public boolean addsAnyValue()- Specified by:
addsAnyValue
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
foreach
Description copied from interface:Foreachable
Will 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:
foreach
in interfaceForeachable<V extends PrismValue>
- Specified by:
foreach
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
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:
getEstimatedOldValues
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Returns:
- estimated state of the old value before the delta is applied (may be null).
-
setEstimatedOldValues
- Specified by:
setEstimatedOldValues
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addEstimatedOldValues
- Specified by:
addEstimatedOldValues
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addEstimatedOldValues
- Specified by:
addEstimatedOldValues
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
addEstimatedOldValue
- Specified by:
addEstimatedOldValue
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
normalize
public void normalize()- Specified by:
normalize
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isReplace
public boolean isReplace()- Specified by:
isReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isAdd
public boolean isAdd()- Specified by:
isAdd
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isDelete
public boolean isDelete()- Specified by:
isDelete
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
clear
public void clear()- Specified by:
clear
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
narrow
public ItemDelta<V,D> narrow(@NotNull @NotNull PrismObject<? extends Objectable> object, @NotNull @NotNull Comparator<V> plusComparator, @NotNull @NotNull Comparator<V> minusComparator, 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. See description on the interface.- Specified by:
narrow
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> plusComparator
- Comparator we want to use when determining skippability of values being added.minusComparator
- Comparator we want to use when determining skippability of values being deleted.
-
isRedundant
public boolean isRedundant(PrismObject<? extends Objectable> object, @NotNull @NotNull ParameterizedEquivalenceStrategy strategy, boolean assumeMissingItems) Description copied from interface:ItemDelta
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:
isRedundant
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> assumeMissingItems
- Assumes that some items in the object may be missing. So delta that replaces them by null
-
validate
- Specified by:
validate
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
validate
- Specified by:
validate
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
validateValues
- Specified by:
validateValues
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
validateValues
- Specified by:
validateValues
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
checkConsistence
public void checkConsistence()- Specified by:
checkConsistence
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
checkConsistence
- Specified by:
checkConsistence
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
checkConsistence
public void checkConsistence(boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope) - Specified by:
checkConsistence
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
distributeReplace
Distributes the replace values of this delta to add and delete with respect to provided existing values. TODO reconsider equivalence strategy!- Specified by:
distributeReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
merge
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:
merge
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
getValueChanges
- Specified by:
getValueChanges
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
simplify
public 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:
simplify
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
applyTo
- Specified by:
applyTo
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
applyTo
- Specified by:
applyTo
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
applyToMatchingPath
Applies delta to item. Assumes that path of the delta and path of the item matches (does not do path checks).- Specified by:
applyToMatchingPath
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
getSubDelta
- Specified by:
getSubDelta
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isApplicableTo
- Specified by:
isApplicableTo
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
isApplicableToType
-
getItemNew
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:
getItemNew
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
getItemNew
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:
getItemNew
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
getItemNewMatchingPath
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:
getItemNewMatchingPath
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
contains
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:
contains
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
contains
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:
contains
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
filterValues
- Specified by:
filterValues
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
filterYields
- Specified by:
filterYields
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
clone
- Specified by:
clone
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Overrides:
clone
in classObject
-
cloneWithChangedParentPath
- Specified by:
cloneWithChangedParentPath
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
copyValues
-
toDeltaSetTriple
- Specified by:
toDeltaSetTriple
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
assertDefinitions
- Specified by:
assertDefinitions
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
assertDefinitions
public void assertDefinitions(boolean tolerateRawValues, Supplier<String> sourceDescriptionSupplier) throws SchemaException - Specified by:
assertDefinitions
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
isRaw
public boolean isRaw()- Specified by:
isRaw
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
revive
- Specified by:
revive
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
applyDefinition
- Specified by:
applyDefinition
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Throws:
SchemaException
-
hashCode
public int hashCode() -
equivalent
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:
equivalent
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
equals
- Specified by:
equals
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Overrides:
equals
in classObject
-
toString
- Specified by:
toString
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>> - Overrides:
toString
in classObject
-
debugDump
- Specified by:
debugDump
in interfaceDebugDumpable
- Specified by:
debugDump
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
dumpValues
-
addToReplaceDelta
public void addToReplaceDelta()- Specified by:
addToReplaceDelta
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
createReverseDelta
- Specified by:
createReverseDelta
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
findValueToAddOrReplace
- Specified by:
findValueToAddOrReplace
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-
setOriginTypeRecursive
Set origin type to all values and subvalues- Specified by:
setOriginTypeRecursive
in interfaceItemDelta<V extends PrismValue,
D extends ItemDefinition<?>>
-