com.evolveum.midpoint.prism.delta
Class ObjectDelta<T extends Objectable>

java.lang.Object
  extended by com.evolveum.midpoint.prism.delta.ObjectDelta<T>
All Implemented Interfaces:
Visitable, DebugDumpable, Dumpable, Serializable
Direct Known Subclasses:
ShadowDiscriminatorObjectDelta

public class ObjectDelta<T extends Objectable>
extends Object
implements Dumpable, DebugDumpable, Visitable, Serializable

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.

Author:
Radovan Semancik
See Also:
PropertyDelta, Serialized Form

Field 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)
           
<X> void
addModificationAddProperty(ItemPath propertyPath, X... propertyValues)
           
<X> void
addModificationAddProperty(QName propertyQName, X... propertyValues)
           
<X> void
addModificationDeleteProperty(ItemPath propertyPath, X... propertyValues)
           
<X> void
addModificationDeleteProperty(QName propertyQName, X... propertyValues)
           
<X> void
addModificationReplaceProperty(ItemPath propertyPath, X... propertyValues)
           
<X> void
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
<O extends Objectable>
ObjectDelta<O>
createAddDelta(PrismObject<O> objectToAdd)
           
<C extends Containerable>
ContainerDelta<C>
createContainerModification(ItemPath path)
           
<C extends Containerable>
ContainerDelta<C>
createContainerModification(ItemPath path, PrismContainerDefinition<C> containerDefinition)
           
static
<O extends Objectable>
ObjectDelta<O>
createDeleteDelta(Class<O> type, String oid, PrismContext prismContext)
           
static
<O extends Objectable>
ObjectDelta<O>
createEmptyAddDelta(Class<O> type, String oid, PrismContext prismContext)
           
static
<O extends Objectable>
ObjectDelta<O>
createEmptyDeleteDelta(Class<O> type, String oid, PrismContext prismContext)
           
static
<O extends Objectable>
ObjectDelta<O>
createEmptyDelta(Class<O> type, String oid, PrismContext prismContext, ChangeType changeType)
           
static
<O extends Objectable>
ObjectDelta<O>
createEmptyModifyDelta(Class<O> type, String oid, PrismContext prismContext)
           
static
<O extends Objectable,C extends Containerable>
ObjectDelta<O>
createModificationAddContainer(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, PrismContainerValue<C>... containerValues)
           
static
<O extends Objectable,C extends Containerable>
ObjectDelta<O>
createModificationAddContainer(Class<O> type, String oid, QName propertyName, PrismContext prismContext, PrismContainerValue<C>... containerValues)
           
static
<O extends Objectable,X>
ObjectDelta<O>
createModificationAddProperty(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, X... propertyValues)
           
static
<O extends Objectable,X>
ObjectDelta<O>
createModificationAddProperty(Class<O> type, String oid, QName propertyName, PrismContext prismContext, X... propertyValues)
           
static
<O extends Objectable>
ObjectDelta<O>
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
<O extends Objectable>
ObjectDelta<O>
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
<O extends Objectable>
ObjectDelta<O>
createModificationAddReference(Class<O> type, String oid, QName propertyName, PrismContext prismContext, String... targetOids)
           
static
<O extends Objectable,C extends Containerable>
ObjectDelta<O>
createModificationDeleteContainer(Class<O> type, String oid, ItemPath containerPath, PrismContext prismContext, PrismContainerValue<C>... containerValues)
           
static
<O extends Objectable,C extends Containerable>
ObjectDelta<O>
createModificationDeleteContainer(Class<O> type, String oid, QName containerName, PrismContext prismContext, PrismContainerValue<C>... containerValues)
           
static
<O extends Objectable,X>
ObjectDelta<O>
createModificationDeleteProperty(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, X... propertyValues)
           
static
<O extends Objectable>
ObjectDelta<O>
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
<O extends Objectable>
ObjectDelta<O>
createModificationDeleteReference(Class<O> type, String oid, QName propertyName, PrismContext prismContext, String... targetOids)
           
static
<O extends Objectable,C extends Containerable>
ObjectDelta<O>
createModificationReplaceContainer(Class<O> type, String oid, ItemPath containerPath, PrismContext prismContext, PrismContainerValue<C>... containerValues)
           
static
<O extends Objectable,C extends Containerable>
ObjectDelta<O>
createModificationReplaceContainer(Class<O> type, String oid, QName containerName, PrismContext prismContext, PrismContainerValue<C>... containerValues)
           
static
<O extends Objectable,X>
ObjectDelta<O>
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
<O extends Objectable,X>
ObjectDelta<O>
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
<T extends Objectable>
ObjectDelta<T>
createModifyDelta(String oid, Collection<? extends ItemDelta> modifications, Class<T> objectTypeClass, PrismContext prismContext)
           
static
<T extends Objectable>
ObjectDelta<T>
createModifyDelta(String oid, ItemDelta modification, Class<T> objectTypeClass, PrismContext prismContext)
           
<X> PropertyDelta<X>
createPropertyModification(ItemPath path)
           
<C> PropertyDelta<C>
createPropertyModification(ItemPath path, PrismPropertyDefinition propertyDefinition)
           
<X> PropertyDelta<X>
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
<O extends Objectable,C extends Containerable>
void
fillInModificationAddContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContainerValue<C>... containerValues)
           
protected static
<O extends Objectable,X>
void
fillInModificationAddProperty(ObjectDelta<O> objectDelta, ItemPath propertyPath, X... propertyValues)
           
protected static
<O extends Objectable,C extends Containerable>
void
fillInModificationDeleteContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContainerValue<C>... containerValues)
           
protected static
<O extends Objectable,X>
void
fillInModificationDeleteProperty(ObjectDelta<O> objectDelta, ItemPath propertyPath, X... propertyValues)
           
protected static
<O extends Objectable,C extends Containerable>
void
fillInModificationReplaceContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContainerValue<C>... containerValues)
           
protected static
<O extends Objectable,X>
void
fillInModificationReplaceProperty(ObjectDelta<O> objectDelta, ItemPath propertyPath, X... propertyValues)
           
<X extends Containerable>
ContainerDelta<X>
findContainerDelta(ItemPath propertyPath)
           
<X extends Containerable>
ContainerDelta<X>
findContainerDelta(QName name)
           
 ItemDelta<?> findItemDelta(ItemPath propertyPath)
           
 Collection<? extends ItemDelta<?>> findItemDeltasSubPath(ItemPath itemPath)
          Returns all item deltas at or below a specified path.
<X> PropertyDelta<X>
findPropertyDelta(ItemPath propertyPath)
           
<X> PropertyDelta<X>
findPropertyDelta(ItemPath parentPath, QName propertyName)
           
<X> PropertyDelta<X>
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
<T extends Objectable>
ObjectDelta<T>
summarize(List<ObjectDelta<T>> deltas)
          Returns a delta that is a "sum" of all the deltas in the collection.
static
<T extends Objectable>
ObjectDelta<T>
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
<X> Collection<PrismPropertyValue<X>>
toPrismPropertyValues(PrismContext prismContext, X... propertyValues)
           
 String toString()
           
static
<T extends Objectable>
ObjectDelta<T>
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

ObjectDelta

public ObjectDelta(Class<T> objectTypeClass,
                   ChangeType changeType,
                   PrismContext prismContext)
Method Detail

accept

public void accept(Visitor visitor)
Specified by:
accept in interface Visitable

getChangeType

public ChangeType getChangeType()

setChangeType

public void setChangeType(ChangeType changeType)

isAdd

public static boolean isAdd(ObjectDelta<?> objectDelta)

isAdd

public boolean isAdd()

isDelete

public static boolean isDelete(ObjectDelta<?> objectDelta)

isDelete

public boolean isDelete()

isModify

public static boolean isModify(ObjectDelta<?> objectDelta)

isModify

public boolean isModify()

getOid

public String getOid()

setOid

public void setOid(String oid)

getPrismContext

public PrismContext getPrismContext()

setPrismContext

public void setPrismContext(PrismContext prismContext)

getObjectToAdd

public PrismObject<T> getObjectToAdd()

setObjectToAdd

public void setObjectToAdd(PrismObject<T> objectToAdd)

getModifications

public Collection<? extends ItemDelta> getModifications()

addModification

public void addModification(ItemDelta itemDelta)

containsModification

public boolean containsModification(ItemDelta itemDelta)

addModifications

public void addModifications(Collection<? extends ItemDelta> itemDeltas)

addModifications

public void addModifications(ItemDelta<?>... itemDeltas)

findItemDelta

public ItemDelta<?> findItemDelta(ItemPath propertyPath)

hasItemDelta

public boolean hasItemDelta(ItemPath propertyPath)

hasCompleteDefinition

public boolean hasCompleteDefinition()

getObjectTypeClass

public Class<T> getObjectTypeClass()

setObjectTypeClass

public void setObjectTypeClass(Class<T> objectTypeClass)

findPropertyDelta

public <X> PropertyDelta<X> findPropertyDelta(QName propertyName)
Top-level path is assumed.


findPropertyDelta

public <X> PropertyDelta<X> findPropertyDelta(ItemPath parentPath,
                                              QName propertyName)

findPropertyDelta

public <X> PropertyDelta<X> findPropertyDelta(ItemPath propertyPath)

findContainerDelta

public <X extends Containerable> ContainerDelta<X> findContainerDelta(ItemPath propertyPath)

findContainerDelta

public <X extends Containerable> ContainerDelta<X> findContainerDelta(QName name)

findReferenceModification

public ReferenceDelta findReferenceModification(QName itemName)

findItemDeltasSubPath

public Collection<? extends ItemDelta<?>> findItemDeltasSubPath(ItemPath itemPath)
Returns all item deltas at or below a specified path.


removeReferenceModification

public void removeReferenceModification(QName itemName)

isEmpty

public boolean isEmpty()

normalize

public void normalize()

applyDefinition

public void applyDefinition(PrismObjectDefinition<T> definition)
                     throws SchemaException
Throws:
SchemaException

clone

public ObjectDelta<T> clone()
Deep clone.

Overrides:
clone in class Object

merge

public void merge(ObjectDelta<T> deltaToMerge)
           throws SchemaException
Merge provided delta into this delta. This delta is assumed to be chronologically earlier, delta in the parameter is assumed to come chronologicaly later.

Throws:
SchemaException

summarize

public static <T extends Objectable> ObjectDelta<T> summarize(ObjectDelta<T>... deltas)
                                                   throws SchemaException
Returns a delta that is a "sum" of all the deltas in the collection. The deltas as processed as an ORDERED sequence. Therefore it correctly processes item overwrites and so on. It also means that if there is an ADD delta it has to be first.

Throws:
SchemaException

summarize

public static <T extends Objectable> ObjectDelta<T> summarize(List<ObjectDelta<T>> deltas)
                                                   throws SchemaException
Returns a delta that is a "sum" of all the deltas in the collection. The deltas as processed as an ORDERED sequence. Therefore it correctly processes item overwrites and so on. It also means that if there is an ADD delta it has to be first.

Throws:
SchemaException

union

public static <T extends Objectable> ObjectDelta<T> union(ObjectDelta<T>... deltas)
                                               throws SchemaException
Union of several object deltas. The deltas are merged to create a single delta that contains changes from all the deltas. Union works on UNORDERED deltas.

Throws:
SchemaException

mergeModifications

public void mergeModifications(Collection<? extends ItemDelta> modificationsToMerge)
                        throws SchemaException
Throws:
SchemaException

mergeModification

public void mergeModification(ItemDelta<?> modificationToMerge)
                       throws SchemaException
Throws:
SchemaException

applyTo

public void applyTo(PrismObject<T> targetObject)
             throws SchemaException
Applies this object delta to specified object, returns updated object. It modifies the provided object.

Throws:
SchemaException

computeChangedObject

public PrismObject<T> computeChangedObject(PrismObject<T> objectOld)
                                                       throws SchemaException
Applies this object delta to specified object, returns updated object. It leaves the original object unchanged.

Parameters:
objectOld - object before change
Returns:
object with applied changes or null if the object should not exit (was deleted)
Throws:
SchemaException

swallow

public void swallow(ItemDelta<?> newItemDelta)
             throws SchemaException
Incorporates the property delta into the existing property deltas (regardless of the change type).

Throws:
SchemaException

createPropertyModification

public <X> PropertyDelta<X> createPropertyModification(QName name,
                                                       PrismPropertyDefinition propertyDefinition)

createPropertyModification

public <X> PropertyDelta<X> createPropertyModification(ItemPath path)

createPropertyModification

public <C> PropertyDelta<C> createPropertyModification(ItemPath path,
                                                       PrismPropertyDefinition propertyDefinition)

createReferenceModification

public ReferenceDelta createReferenceModification(QName name,
                                                  PrismReferenceDefinition referenceDefinition)

createContainerModification

public <C extends Containerable> ContainerDelta<C> createContainerModification(ItemPath path)

createContainerModification

public <C extends Containerable> ContainerDelta<C> createContainerModification(ItemPath path,
                                                                               PrismContainerDefinition<C> containerDefinition)

createModificationReplaceProperty

public static <O extends Objectable,X> ObjectDelta<O> 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. This is used quite often to justify a separate method.


createModificationReplaceProperty

public static <O extends Objectable,X> ObjectDelta<O> 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. This is used quite often to justify a separate method.


createModificationAddProperty

public static <O extends Objectable,X> ObjectDelta<O> createModificationAddProperty(Class<O> type,
                                                                                    String oid,
                                                                                    QName propertyName,
                                                                                    PrismContext prismContext,
                                                                                    X... propertyValues)

createModificationAddProperty

public static <O extends Objectable,X> ObjectDelta<O> createModificationAddProperty(Class<O> type,
                                                                                    String oid,
                                                                                    ItemPath propertyPath,
                                                                                    PrismContext prismContext,
                                                                                    X... propertyValues)

createModificationDeleteProperty

public static <O extends Objectable,X> ObjectDelta<O> createModificationDeleteProperty(Class<O> type,
                                                                                       String oid,
                                                                                       ItemPath propertyPath,
                                                                                       PrismContext prismContext,
                                                                                       X... propertyValues)

addModificationReplaceProperty

public <X> void addModificationReplaceProperty(QName propertyQName,
                                               X... propertyValues)

addModificationReplaceProperty

public <X> void addModificationReplaceProperty(ItemPath propertyPath,
                                               X... propertyValues)

addModificationAddProperty

public <X> void addModificationAddProperty(QName propertyQName,
                                           X... propertyValues)

addModificationAddProperty

public <X> void addModificationAddProperty(ItemPath propertyPath,
                                           X... propertyValues)

addModificationDeleteProperty

public <X> void addModificationDeleteProperty(QName propertyQName,
                                              X... propertyValues)

addModificationDeleteProperty

public <X> void addModificationDeleteProperty(ItemPath propertyPath,
                                              X... propertyValues)

fillInModificationReplaceProperty

protected static <O extends Objectable,X> void fillInModificationReplaceProperty(ObjectDelta<O> objectDelta,
                                                                                 ItemPath propertyPath,
                                                                                 X... propertyValues)

fillInModificationAddProperty

protected static <O extends Objectable,X> void fillInModificationAddProperty(ObjectDelta<O> objectDelta,
                                                                             ItemPath propertyPath,
                                                                             X... propertyValues)

fillInModificationDeleteProperty

protected static <O extends Objectable,X> void fillInModificationDeleteProperty(ObjectDelta<O> objectDelta,
                                                                                ItemPath propertyPath,
                                                                                X... propertyValues)

createModificationAddContainer

public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationAddContainer(Class<O> type,
                                                                                                           String oid,
                                                                                                           QName propertyName,
                                                                                                           PrismContext prismContext,
                                                                                                           PrismContainerValue<C>... containerValues)

createModificationAddContainer

public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationAddContainer(Class<O> type,
                                                                                                           String oid,
                                                                                                           ItemPath propertyPath,
                                                                                                           PrismContext prismContext,
                                                                                                           PrismContainerValue<C>... containerValues)

createModificationDeleteContainer

public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationDeleteContainer(Class<O> type,
                                                                                                              String oid,
                                                                                                              QName containerName,
                                                                                                              PrismContext prismContext,
                                                                                                              PrismContainerValue<C>... containerValues)

createModificationDeleteContainer

public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationDeleteContainer(Class<O> type,
                                                                                                              String oid,
                                                                                                              ItemPath containerPath,
                                                                                                              PrismContext prismContext,
                                                                                                              PrismContainerValue<C>... containerValues)

fillInModificationDeleteContainer

protected static <O extends Objectable,C extends Containerable> void fillInModificationDeleteContainer(ObjectDelta<O> objectDelta,
                                                                                                       ItemPath propertyPath,
                                                                                                       PrismContainerValue<C>... containerValues)

createModificationReplaceContainer

public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationReplaceContainer(Class<O> type,
                                                                                                               String oid,
                                                                                                               QName containerName,
                                                                                                               PrismContext prismContext,
                                                                                                               PrismContainerValue<C>... containerValues)

createModificationReplaceContainer

public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationReplaceContainer(Class<O> type,
                                                                                                               String oid,
                                                                                                               ItemPath containerPath,
                                                                                                               PrismContext prismContext,
                                                                                                               PrismContainerValue<C>... containerValues)

fillInModificationAddContainer

protected static <O extends Objectable,C extends Containerable> void fillInModificationAddContainer(ObjectDelta<O> objectDelta,
                                                                                                    ItemPath propertyPath,
                                                                                                    PrismContainerValue<C>... containerValues)

fillInModificationReplaceContainer

protected static <O extends Objectable,C extends Containerable> void fillInModificationReplaceContainer(ObjectDelta<O> objectDelta,
                                                                                                        ItemPath propertyPath,
                                                                                                        PrismContainerValue<C>... containerValues)

toPrismPropertyValues

protected static <X> Collection<PrismPropertyValue<X>> toPrismPropertyValues(PrismContext prismContext,
                                                                             X... propertyValues)

createModificationAddReference

public static <O extends Objectable> ObjectDelta<O> 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. This is used quite often to justify a separate method.


createModificationAddReference

public static <O extends Objectable> ObjectDelta<O> createModificationAddReference(Class<O> type,
                                                                                   String oid,
                                                                                   QName propertyName,
                                                                                   PrismContext prismContext,
                                                                                   String... targetOids)

createModificationAddReference

public static <O extends Objectable> ObjectDelta<O> 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. This is used quite often to justify a separate method.


createModificationDeleteReference

public static <O extends Objectable> ObjectDelta<O> createModificationDeleteReference(Class<O> type,
                                                                                      String oid,
                                                                                      QName propertyName,
                                                                                      PrismContext prismContext,
                                                                                      String... targetOids)

createModificationDeleteReference

public static <O extends Objectable> ObjectDelta<O> 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. This is used quite often to justify a separate method.


createModifyDelta

public static <T extends Objectable> ObjectDelta<T> createModifyDelta(String oid,
                                                                      ItemDelta modification,
                                                                      Class<T> objectTypeClass,
                                                                      PrismContext prismContext)

createModifyDelta

public static <T extends Objectable> ObjectDelta<T> createModifyDelta(String oid,
                                                                      Collection<? extends ItemDelta> modifications,
                                                                      Class<T> objectTypeClass,
                                                                      PrismContext prismContext)

createEmptyAddDelta

public static <O extends Objectable> ObjectDelta<O> createEmptyAddDelta(Class<O> type,
                                                                        String oid,
                                                                        PrismContext prismContext)

createEmptyModifyDelta

public static <O extends Objectable> ObjectDelta<O> createEmptyModifyDelta(Class<O> type,
                                                                           String oid,
                                                                           PrismContext prismContext)

createEmptyDeleteDelta

public static <O extends Objectable> ObjectDelta<O> createEmptyDeleteDelta(Class<O> type,
                                                                           String oid,
                                                                           PrismContext prismContext)

createEmptyDelta

public static <O extends Objectable> ObjectDelta<O> createEmptyDelta(Class<O> type,
                                                                     String oid,
                                                                     PrismContext prismContext,
                                                                     ChangeType changeType)

createAddDelta

public static <O extends Objectable> ObjectDelta<O> createAddDelta(PrismObject<O> objectToAdd)

createDeleteDelta

public static <O extends Objectable> ObjectDelta<O> createDeleteDelta(Class<O> type,
                                                                      String oid,
                                                                      PrismContext prismContext)

checkConsistence

public void checkConsistence()

checkConsistence

public void checkConsistence(boolean requireOid,
                             boolean requireDefinition,
                             boolean prohibitRaw)

checkIdentifierConsistence

protected void checkIdentifierConsistence(boolean requireOid)

checkConsistence

public static void checkConsistence(Collection<? extends ObjectDelta<?>> deltas)

assertDefinitions

public void assertDefinitions()
                       throws SchemaException
Throws:
SchemaException

assertDefinitions

public void assertDefinitions(String sourceDescription)
                       throws SchemaException
Throws:
SchemaException

assertDefinitions

public void assertDefinitions(boolean tolerateRawElements)
                       throws SchemaException
Throws:
SchemaException

assertDefinitions

public void assertDefinitions(boolean tolerateRawElements,
                              String sourceDescription)
                       throws SchemaException
Assert that all the items has appropriate definition.

Throws:
SchemaException

revive

public void revive(PrismContext prismContext)

applyDefinition

public void applyDefinition(PrismObjectDefinition<T> objectDefinition,
                            boolean force)
                     throws SchemaException
Throws:
SchemaException

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object

debugName

protected String debugName()

debugIdentifiers

protected String debugIdentifiers()

debugDump

public String debugDump()
Description copied from interface: DebugDumpable
Show the content of the object intended for diagnostics by system administrator. The out put should be suitable to use in system logs at "debug" level. It may be multi-line, but in that case it should be well indented and quite terse. As it is intended to be used by system administrator, it should not use any developer terms such as class names, exceptions or stack traces.

Specified by:
debugDump in interface DebugDumpable
Returns:
content of the object intended for diagnostics by system administrator.

debugDump

public String debugDump(int indent)
Specified by:
debugDump in interface DebugDumpable

dump

public String dump()
Description copied from interface: Dumpable
Show the content of the object intended for diagnostics by developer. The content may be multi-line, in case of hierarchical objects it may be intended. The use of this method may not be efficient. It is not supposed to be used in normal operation. However, it is very useful in tests or in case of dumping objects in severe error situations.

Specified by:
dump in interface Dumpable
Returns:
content of the object intended for diagnostics.


Copyright © 2013 evolveum. All Rights Reserved.