|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.evolveum.midpoint.prism.delta.ObjectDelta<T>
public class ObjectDelta<T extends Objectable>
Relative difference (delta) of the object.
This class describes how the object changes. It can describe either object addition, modification of deletion. Addition described complete new (absolute) state of the object. Modification contains a set property deltas that describe relative changes to individual properties Deletion does not contain anything. It only marks object for deletion. The OID is mandatory for modification and deletion.
PropertyDelta
,
Serialized FormField Summary |
---|
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable |
---|
INDENT_STRING |
Constructor Summary | |
---|---|
ObjectDelta(Class<T> objectTypeClass,
ChangeType changeType,
PrismContext prismContext)
|
Method Summary | ||
---|---|---|
void |
accept(Visitor visitor)
|
|
void |
addModification(ItemDelta itemDelta)
|
|
|
addModificationAddProperty(ItemPath propertyPath,
X... propertyValues)
|
|
|
addModificationAddProperty(QName propertyQName,
X... propertyValues)
|
|
|
addModificationDeleteProperty(ItemPath propertyPath,
X... propertyValues)
|
|
|
addModificationDeleteProperty(QName propertyQName,
X... propertyValues)
|
|
|
addModificationReplaceProperty(ItemPath propertyPath,
X... propertyValues)
|
|
|
addModificationReplaceProperty(QName propertyQName,
X... propertyValues)
|
|
void |
addModifications(Collection<? extends ItemDelta> itemDeltas)
|
|
void |
addModifications(ItemDelta<?>... itemDeltas)
|
|
void |
applyDefinition(PrismObjectDefinition<T> definition)
|
|
void |
applyDefinition(PrismObjectDefinition<T> objectDefinition,
boolean force)
|
|
void |
applyTo(PrismObject<T> targetObject)
Applies this object delta to specified object, returns updated object. |
|
void |
assertDefinitions()
|
|
void |
assertDefinitions(boolean tolerateRawElements)
|
|
void |
assertDefinitions(boolean tolerateRawElements,
String sourceDescription)
Assert that all the items has appropriate definition. |
|
void |
assertDefinitions(String sourceDescription)
|
|
void |
checkConsistence()
|
|
void |
checkConsistence(boolean requireOid,
boolean requireDefinition,
boolean prohibitRaw)
|
|
static void |
checkConsistence(Collection<? extends ObjectDelta<?>> deltas)
|
|
protected void |
checkIdentifierConsistence(boolean requireOid)
|
|
ObjectDelta<T> |
clone()
Deep clone. |
|
PrismObject<T> |
computeChangedObject(PrismObject<T> objectOld)
Applies this object delta to specified object, returns updated object. |
|
boolean |
containsModification(ItemDelta itemDelta)
|
|
static
|
createAddDelta(PrismObject<O> objectToAdd)
|
|
|
createContainerModification(ItemPath path)
|
|
|
createContainerModification(ItemPath path,
PrismContainerDefinition<C> containerDefinition)
|
|
static
|
createDeleteDelta(Class<O> type,
String oid,
PrismContext prismContext)
|
|
static
|
createEmptyAddDelta(Class<O> type,
String oid,
PrismContext prismContext)
|
|
static
|
createEmptyDeleteDelta(Class<O> type,
String oid,
PrismContext prismContext)
|
|
static
|
createEmptyDelta(Class<O> type,
String oid,
PrismContext prismContext,
ChangeType changeType)
|
|
static
|
createEmptyModifyDelta(Class<O> type,
String oid,
PrismContext prismContext)
|
|
static
|
createModificationAddContainer(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
PrismContainerValue<C>... containerValues)
|
|
static
|
createModificationAddContainer(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
PrismContainerValue<C>... containerValues)
|
|
static
|
createModificationAddProperty(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
X... propertyValues)
|
|
static
|
createModificationAddProperty(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
X... propertyValues)
|
|
static
|
createModificationAddReference(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
PrismObject<?>... referenceObjects)
Convenience method for quick creation of object deltas that replace a single object property. |
|
static
|
createModificationAddReference(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
PrismReferenceValue... referenceValues)
Convenience method for quick creation of object deltas that replace a single object property. |
|
static
|
createModificationAddReference(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
String... targetOids)
|
|
static
|
createModificationDeleteContainer(Class<O> type,
String oid,
ItemPath containerPath,
PrismContext prismContext,
PrismContainerValue<C>... containerValues)
|
|
static
|
createModificationDeleteContainer(Class<O> type,
String oid,
QName containerName,
PrismContext prismContext,
PrismContainerValue<C>... containerValues)
|
|
static
|
createModificationDeleteProperty(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
X... propertyValues)
|
|
static
|
createModificationDeleteReference(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
PrismReferenceValue... referenceValues)
Convenience method for quick creation of object deltas that replace a single object property. |
|
static
|
createModificationDeleteReference(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
String... targetOids)
|
|
static
|
createModificationReplaceContainer(Class<O> type,
String oid,
ItemPath containerPath,
PrismContext prismContext,
PrismContainerValue<C>... containerValues)
|
|
static
|
createModificationReplaceContainer(Class<O> type,
String oid,
QName containerName,
PrismContext prismContext,
PrismContainerValue<C>... containerValues)
|
|
static
|
createModificationReplaceProperty(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
X... propertyValues)
Convenience method for quick creation of object deltas that replace a single object property. |
|
static
|
createModificationReplaceProperty(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
X... propertyValues)
Convenience method for quick creation of object deltas that replace a single object property. |
|
static
|
createModifyDelta(String oid,
Collection<? extends ItemDelta> modifications,
Class<T> objectTypeClass,
PrismContext prismContext)
|
|
static
|
createModifyDelta(String oid,
ItemDelta modification,
Class<T> objectTypeClass,
PrismContext prismContext)
|
|
|
createPropertyModification(ItemPath path)
|
|
|
createPropertyModification(ItemPath path,
PrismPropertyDefinition propertyDefinition)
|
|
|
createPropertyModification(QName name,
PrismPropertyDefinition propertyDefinition)
|
|
ReferenceDelta |
createReferenceModification(QName name,
PrismReferenceDefinition referenceDefinition)
|
|
String |
debugDump()
Show the content of the object intended for diagnostics by system administrator. |
|
String |
debugDump(int indent)
|
|
protected String |
debugIdentifiers()
|
|
protected String |
debugName()
|
|
String |
dump()
Show the content of the object intended for diagnostics by developer. |
|
boolean |
equals(Object obj)
|
|
protected static
|
fillInModificationAddContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContainerValue<C>... containerValues)
|
|
protected static
|
fillInModificationAddProperty(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
X... propertyValues)
|
|
protected static
|
fillInModificationDeleteContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContainerValue<C>... containerValues)
|
|
protected static
|
fillInModificationDeleteProperty(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
X... propertyValues)
|
|
protected static
|
fillInModificationReplaceContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContainerValue<C>... containerValues)
|
|
protected static
|
fillInModificationReplaceProperty(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
X... propertyValues)
|
|
|
findContainerDelta(ItemPath propertyPath)
|
|
|
findContainerDelta(QName name)
|
|
ItemDelta<?> |
findItemDelta(ItemPath propertyPath)
|
|
Collection<? extends ItemDelta<?>> |
findItemDeltasSubPath(ItemPath itemPath)
Returns all item deltas at or below a specified path. |
|
|
findPropertyDelta(ItemPath propertyPath)
|
|
|
findPropertyDelta(ItemPath parentPath,
QName propertyName)
|
|
|
findPropertyDelta(QName propertyName)
Top-level path is assumed. |
|
ReferenceDelta |
findReferenceModification(QName itemName)
|
|
ChangeType |
getChangeType()
|
|
Collection<? extends ItemDelta> |
getModifications()
|
|
PrismObject<T> |
getObjectToAdd()
|
|
Class<T> |
getObjectTypeClass()
|
|
String |
getOid()
|
|
PrismContext |
getPrismContext()
|
|
boolean |
hasCompleteDefinition()
|
|
int |
hashCode()
|
|
boolean |
hasItemDelta(ItemPath propertyPath)
|
|
boolean |
isAdd()
|
|
static boolean |
isAdd(ObjectDelta<?> objectDelta)
|
|
boolean |
isDelete()
|
|
static boolean |
isDelete(ObjectDelta<?> objectDelta)
|
|
boolean |
isEmpty()
|
|
boolean |
isModify()
|
|
static boolean |
isModify(ObjectDelta<?> objectDelta)
|
|
void |
merge(ObjectDelta<T> deltaToMerge)
Merge provided delta into this delta. |
|
void |
mergeModification(ItemDelta<?> modificationToMerge)
|
|
void |
mergeModifications(Collection<? extends ItemDelta> modificationsToMerge)
|
|
void |
normalize()
|
|
void |
removeReferenceModification(QName itemName)
|
|
void |
revive(PrismContext prismContext)
|
|
void |
setChangeType(ChangeType changeType)
|
|
void |
setObjectToAdd(PrismObject<T> objectToAdd)
|
|
void |
setObjectTypeClass(Class<T> objectTypeClass)
|
|
void |
setOid(String oid)
|
|
void |
setPrismContext(PrismContext prismContext)
|
|
static
|
summarize(List<ObjectDelta<T>> deltas)
Returns a delta that is a "sum" of all the deltas in the collection. |
|
static
|
summarize(ObjectDelta<T>... deltas)
Returns a delta that is a "sum" of all the deltas in the collection. |
|
void |
swallow(ItemDelta<?> newItemDelta)
Incorporates the property delta into the existing property deltas (regardless of the change type). |
|
protected static
|
toPrismPropertyValues(PrismContext prismContext,
X... propertyValues)
|
|
String |
toString()
|
|
static
|
union(ObjectDelta<T>... deltas)
Union of several object deltas. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ObjectDelta(Class<T> objectTypeClass, ChangeType changeType, PrismContext prismContext)
Method Detail |
---|
public void accept(Visitor visitor)
accept
in interface Visitable
public ChangeType getChangeType()
public void setChangeType(ChangeType changeType)
public static boolean isAdd(ObjectDelta<?> objectDelta)
public boolean isAdd()
public static boolean isDelete(ObjectDelta<?> objectDelta)
public boolean isDelete()
public static boolean isModify(ObjectDelta<?> objectDelta)
public boolean isModify()
public String getOid()
public void setOid(String oid)
public PrismContext getPrismContext()
public void setPrismContext(PrismContext prismContext)
public PrismObject<T> getObjectToAdd()
public void setObjectToAdd(PrismObject<T> objectToAdd)
public Collection<? extends ItemDelta> getModifications()
public void addModification(ItemDelta itemDelta)
public boolean containsModification(ItemDelta itemDelta)
public void addModifications(Collection<? extends ItemDelta> itemDeltas)
public void addModifications(ItemDelta<?>... itemDeltas)
public ItemDelta<?> findItemDelta(ItemPath propertyPath)
public boolean hasItemDelta(ItemPath propertyPath)
public boolean hasCompleteDefinition()
public Class<T> getObjectTypeClass()
public void setObjectTypeClass(Class<T> objectTypeClass)
public <X> PropertyDelta<X> findPropertyDelta(QName propertyName)
public <X> PropertyDelta<X> findPropertyDelta(ItemPath parentPath, QName propertyName)
public <X> PropertyDelta<X> findPropertyDelta(ItemPath propertyPath)
public <X extends Containerable> ContainerDelta<X> findContainerDelta(ItemPath propertyPath)
public <X extends Containerable> ContainerDelta<X> findContainerDelta(QName name)
public ReferenceDelta findReferenceModification(QName itemName)
public Collection<? extends ItemDelta<?>> findItemDeltasSubPath(ItemPath itemPath)
public void removeReferenceModification(QName itemName)
public boolean isEmpty()
public void normalize()
public void applyDefinition(PrismObjectDefinition<T> definition) throws SchemaException
SchemaException
public ObjectDelta<T> clone()
clone
in class Object
public void merge(ObjectDelta<T> deltaToMerge) throws SchemaException
SchemaException
public static <T extends Objectable> ObjectDelta<T> summarize(ObjectDelta<T>... deltas) throws SchemaException
SchemaException
public static <T extends Objectable> ObjectDelta<T> summarize(List<ObjectDelta<T>> deltas) throws SchemaException
SchemaException
public static <T extends Objectable> ObjectDelta<T> union(ObjectDelta<T>... deltas) throws SchemaException
SchemaException
public void mergeModifications(Collection<? extends ItemDelta> modificationsToMerge) throws SchemaException
SchemaException
public void mergeModification(ItemDelta<?> modificationToMerge) throws SchemaException
SchemaException
public void applyTo(PrismObject<T> targetObject) throws SchemaException
SchemaException
public PrismObject<T> computeChangedObject(PrismObject<T> objectOld) throws SchemaException
objectOld
- object before change
SchemaException
public void swallow(ItemDelta<?> newItemDelta) throws SchemaException
SchemaException
public <X> PropertyDelta<X> createPropertyModification(QName name, PrismPropertyDefinition propertyDefinition)
public <X> PropertyDelta<X> createPropertyModification(ItemPath path)
public <C> PropertyDelta<C> createPropertyModification(ItemPath path, PrismPropertyDefinition propertyDefinition)
public ReferenceDelta createReferenceModification(QName name, PrismReferenceDefinition referenceDefinition)
public <C extends Containerable> ContainerDelta<C> createContainerModification(ItemPath path)
public <C extends Containerable> ContainerDelta<C> createContainerModification(ItemPath path, PrismContainerDefinition<C> containerDefinition)
public static <O extends Objectable,X> ObjectDelta<O> createModificationReplaceProperty(Class<O> type, String oid, QName propertyName, PrismContext prismContext, X... propertyValues)
public static <O extends Objectable,X> ObjectDelta<O> createModificationReplaceProperty(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, X... propertyValues)
public static <O extends Objectable,X> ObjectDelta<O> createModificationAddProperty(Class<O> type, String oid, QName propertyName, PrismContext prismContext, X... propertyValues)
public static <O extends Objectable,X> ObjectDelta<O> createModificationAddProperty(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, X... propertyValues)
public static <O extends Objectable,X> ObjectDelta<O> createModificationDeleteProperty(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, X... propertyValues)
public <X> void addModificationReplaceProperty(QName propertyQName, X... propertyValues)
public <X> void addModificationReplaceProperty(ItemPath propertyPath, X... propertyValues)
public <X> void addModificationAddProperty(QName propertyQName, X... propertyValues)
public <X> void addModificationAddProperty(ItemPath propertyPath, X... propertyValues)
public <X> void addModificationDeleteProperty(QName propertyQName, X... propertyValues)
public <X> void addModificationDeleteProperty(ItemPath propertyPath, X... propertyValues)
protected static <O extends Objectable,X> void fillInModificationReplaceProperty(ObjectDelta<O> objectDelta, ItemPath propertyPath, X... propertyValues)
protected static <O extends Objectable,X> void fillInModificationAddProperty(ObjectDelta<O> objectDelta, ItemPath propertyPath, X... propertyValues)
protected static <O extends Objectable,X> void fillInModificationDeleteProperty(ObjectDelta<O> objectDelta, ItemPath propertyPath, X... propertyValues)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationAddContainer(Class<O> type, String oid, QName propertyName, PrismContext prismContext, PrismContainerValue<C>... containerValues)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationAddContainer(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, PrismContainerValue<C>... containerValues)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationDeleteContainer(Class<O> type, String oid, QName containerName, PrismContext prismContext, PrismContainerValue<C>... containerValues)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationDeleteContainer(Class<O> type, String oid, ItemPath containerPath, PrismContext prismContext, PrismContainerValue<C>... containerValues)
protected static <O extends Objectable,C extends Containerable> void fillInModificationDeleteContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContainerValue<C>... containerValues)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationReplaceContainer(Class<O> type, String oid, QName containerName, PrismContext prismContext, PrismContainerValue<C>... containerValues)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationReplaceContainer(Class<O> type, String oid, ItemPath containerPath, PrismContext prismContext, PrismContainerValue<C>... containerValues)
protected static <O extends Objectable,C extends Containerable> void fillInModificationAddContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContainerValue<C>... containerValues)
protected static <O extends Objectable,C extends Containerable> void fillInModificationReplaceContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContainerValue<C>... containerValues)
protected static <X> Collection<PrismPropertyValue<X>> toPrismPropertyValues(PrismContext prismContext, X... propertyValues)
public static <O extends Objectable> ObjectDelta<O> createModificationAddReference(Class<O> type, String oid, QName propertyName, PrismContext prismContext, PrismObject<?>... referenceObjects)
public static <O extends Objectable> ObjectDelta<O> createModificationAddReference(Class<O> type, String oid, QName propertyName, PrismContext prismContext, String... targetOids)
public static <O extends Objectable> ObjectDelta<O> createModificationAddReference(Class<O> type, String oid, QName propertyName, PrismContext prismContext, PrismReferenceValue... referenceValues)
public static <O extends Objectable> ObjectDelta<O> createModificationDeleteReference(Class<O> type, String oid, QName propertyName, PrismContext prismContext, String... targetOids)
public static <O extends Objectable> ObjectDelta<O> createModificationDeleteReference(Class<O> type, String oid, QName propertyName, PrismContext prismContext, PrismReferenceValue... referenceValues)
public static <T extends Objectable> ObjectDelta<T> createModifyDelta(String oid, ItemDelta modification, Class<T> objectTypeClass, PrismContext prismContext)
public static <T extends Objectable> ObjectDelta<T> createModifyDelta(String oid, Collection<? extends ItemDelta> modifications, Class<T> objectTypeClass, PrismContext prismContext)
public static <O extends Objectable> ObjectDelta<O> createEmptyAddDelta(Class<O> type, String oid, PrismContext prismContext)
public static <O extends Objectable> ObjectDelta<O> createEmptyModifyDelta(Class<O> type, String oid, PrismContext prismContext)
public static <O extends Objectable> ObjectDelta<O> createEmptyDeleteDelta(Class<O> type, String oid, PrismContext prismContext)
public static <O extends Objectable> ObjectDelta<O> createEmptyDelta(Class<O> type, String oid, PrismContext prismContext, ChangeType changeType)
public static <O extends Objectable> ObjectDelta<O> createAddDelta(PrismObject<O> objectToAdd)
public static <O extends Objectable> ObjectDelta<O> createDeleteDelta(Class<O> type, String oid, PrismContext prismContext)
public void checkConsistence()
public void checkConsistence(boolean requireOid, boolean requireDefinition, boolean prohibitRaw)
protected void checkIdentifierConsistence(boolean requireOid)
public static void checkConsistence(Collection<? extends ObjectDelta<?>> deltas)
public void assertDefinitions() throws SchemaException
SchemaException
public void assertDefinitions(String sourceDescription) throws SchemaException
SchemaException
public void assertDefinitions(boolean tolerateRawElements) throws SchemaException
SchemaException
public void assertDefinitions(boolean tolerateRawElements, String sourceDescription) throws SchemaException
SchemaException
public void revive(PrismContext prismContext)
public void applyDefinition(PrismObjectDefinition<T> objectDefinition, boolean force) throws SchemaException
SchemaException
public int hashCode()
hashCode
in class Object
public boolean equals(Object obj)
equals
in class Object
public String toString()
toString
in class Object
protected String debugName()
protected String debugIdentifiers()
public String debugDump()
DebugDumpable
debugDump
in interface DebugDumpable
public String debugDump(int indent)
debugDump
in interface DebugDumpable
public String dump()
Dumpable
dump
in interface Dumpable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |