Package com.evolveum.midpoint.prism.util
Class ObjectDeltaObject<O extends Objectable>
java.lang.Object
com.evolveum.midpoint.prism.util.ObjectDeltaObject<O>
- All Implemented Interfaces:
- AbstractItemDeltaItem<PrismObjectDefinition<O>>,- DebugDumpable,- Serializable
public class ObjectDeltaObject<O extends Objectable>
extends Object
implements AbstractItemDeltaItem<PrismObjectDefinition<O>>
A class defining old object state (before change), delta (change) and new object state (after change). This is a useful
 class used to describe how the object has changed or is going to be changed without the need to re-apply the delta
 several times. The delta can be applied once, and then all the rest of the code will have all the data
 available. This is mostly just a convenience class that groups those three things together.
 There is only a very little logic on top of that.
- Author:
- Radovan Semancik
- See Also:
- 
Field SummaryFields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRING
- 
Constructor SummaryConstructorsConstructorDescriptionObjectDeltaObject(@Nullable PrismObject<O> oldObject, @Nullable ObjectDelta<O> delta, @Nullable PrismObject<O> newObject, @Nullable PrismObjectDefinition<O> explicitDefinition) 
- 
Method SummaryModifier and TypeMethodDescriptionclone()debugDump(int indent) boolean<IV extends PrismValue,ID extends ItemDefinition<?>> 
 ItemDeltaItem<IV,ID> findIdi(@NotNull ItemPath path, @Nullable DefinitionResolver<PrismObjectDefinition<O>, ID> additionalDefinitionResolver) As #findIdi(ItemPath) but with additional definition resolver that provides definitions for sub-items found.static <O extends Objectable>
 ObjectDeltaObject<O>forUnchanged(@NotNull PrismObject<O> prismObject) @NotNull PrismObject<O>@NotNull PrismObjectDefinition<O>The definition of the item/object in question.@Nullable PrismObject<O>@NotNull PrismObject<O>@Nullable PrismObject<O>@NotNull PrismObject<O>inthashCode()booleanIs the item in question a prism container?booleanisNull()Is the IDI empty, i.e. is everything null?booleanIs the item in question a prism property?booleanIs the item in question a structured property -Structured?normalizeValuesToDelete(boolean doClone) voidRecomputes the new state of the IDI.voidrecomputeIfNeeded(boolean deep) toString()voidMethods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.prism.util.AbstractItemDeltaItemfindIdiMethods inherited from interface com.evolveum.midpoint.util.DebugDumpabledebugDump, debugDumpLazily, debugDumpLazily
- 
Constructor Details- 
ObjectDeltaObjectpublic ObjectDeltaObject(@Nullable @Nullable PrismObject<O> oldObject, @Nullable @Nullable ObjectDelta<O> delta, @Nullable @Nullable PrismObject<O> newObject, @Nullable @Nullable PrismObjectDefinition<O> explicitDefinition) 
 
- 
- 
Method Details- 
forUnchangedpublic static <O extends Objectable> ObjectDeltaObject<O> forUnchanged(@NotNull @NotNull PrismObject<O> prismObject) 
- 
getOldObject
- 
getOldObjectRequired
- 
getObjectDelta
- 
getNewObject
- 
getNewObjectRequired
- 
update- Throws:
- SchemaException
 
- 
getAnyObject
- 
getAnyObjectRequired
- 
isNullpublic boolean isNull()Description copied from interface:AbstractItemDeltaItemIs the IDI empty, i.e. is everything null? FIXME the implementation of this method may not be 100% precise. Should be reviewed.- Specified by:
- isNullin interface- AbstractItemDeltaItem<O extends Objectable>
 
- 
getDefinitionDescription copied from interface:AbstractItemDeltaItemThe definition of the item/object in question.- Specified by:
- getDefinitionin interface- AbstractItemDeltaItem<O extends Objectable>
 
- 
isContainerpublic boolean isContainer()Description copied from interface:AbstractItemDeltaItemIs the item in question a prism container?- Specified by:
- isContainerin interface- AbstractItemDeltaItem<O extends Objectable>
 
- 
isPropertypublic boolean isProperty()Description copied from interface:AbstractItemDeltaItemIs the item in question a prism property?- Specified by:
- isPropertyin interface- AbstractItemDeltaItem<O extends Objectable>
 
- 
isStructuredPropertypublic boolean isStructuredProperty()Description copied from interface:AbstractItemDeltaItemIs the item in question a structured property -Structured? I.e. a prism property that has visible components. (E.g., aPolyString.) SeeItemDeltaItem.resolveStructuredProperty(ItemPath, PrismPropertyDefinition).- Specified by:
- isStructuredPropertyin interface- AbstractItemDeltaItem<O extends Objectable>
 
- 
findIdipublic <IV extends PrismValue,ID extends ItemDefinition<?>> ItemDeltaItem<IV,ID> findIdi(@NotNull @NotNull ItemPath path, @Nullable @Nullable DefinitionResolver<PrismObjectDefinition<O>, ID> additionalDefinitionResolver) throws SchemaExceptionDescription copied from interface:AbstractItemDeltaItemAs #findIdi(ItemPath) but with additional definition resolver that provides definitions for sub-items found.- Specified by:
- findIdiin interface- AbstractItemDeltaItem<O extends Objectable>
- Throws:
- SchemaException
 
- 
recomputeDescription copied from interface:AbstractItemDeltaItemRecomputes the new state of the IDI.- Specified by:
- recomputein interface- AbstractItemDeltaItem<O extends Objectable>
- Throws:
- SchemaException
 
- 
recomputeIfNeeded- Throws:
- SchemaException
 
- 
equals
- 
hashCodepublic int hashCode()
- 
debugDump- Specified by:
- debugDumpin interface- DebugDumpable
 
- 
toString
- 
clone
- 
normalizeValuesToDelete
 
-