public class ObjectDelta<T extends Objectable> extends Object implements DebugDumpable, Visitable, PathVisitable, Serializable
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 FormModifier and Type | Class and Description |
---|---|
static class |
ObjectDelta.FactorOutResultMulti<T extends Objectable> |
static class |
ObjectDelta.FactorOutResultSingle<T extends Objectable> |
INDENT_STRING
Constructor and Description |
---|
ObjectDelta(Class<T> objectTypeClass,
ChangeType changeType,
PrismContext prismContext) |
Modifier and Type | Method and Description |
---|---|
void |
accept(Visitor visitor) |
void |
accept(Visitor visitor,
boolean includeOldValues) |
void |
accept(Visitor visitor,
ItemPath path,
boolean recursive) |
<D extends ItemDelta> |
addModification(D itemDelta)
Adds modification (itemDelta) and returns the modification that was added.
|
<C extends Containerable> |
addModificationAddContainer(ItemPath propertyPath,
C... containerables) |
<C extends Containerable> |
addModificationAddContainer(ItemPath propertyPath,
PrismContainerValue<C>... containerValues) |
<C extends Containerable> |
addModificationAddContainer(QName propertyQName,
C... containerables) |
<C extends Containerable> |
addModificationAddContainer(QName propertyQName,
PrismContainerValue<C>... containerValues) |
<X> void |
addModificationAddProperty(ItemPath propertyPath,
X... propertyValues) |
<X> void |
addModificationAddProperty(QName propertyQName,
X... propertyValues) |
void |
addModificationAddReference(QName propertyQName,
PrismReferenceValue... refValues) |
<C extends Containerable> |
addModificationDeleteContainer(ItemPath propertyPath,
C... containerables) |
<C extends Containerable> |
addModificationDeleteContainer(ItemPath propertyPath,
PrismContainerValue<C>... containerValues) |
<C extends Containerable> |
addModificationDeleteContainer(QName propertyQName,
C... containerables) |
<C extends Containerable> |
addModificationDeleteContainer(QName propertyQName,
PrismContainerValue<C>... containerValues) |
<X> void |
addModificationDeleteProperty(ItemPath propertyPath,
X... propertyValues) |
<X> void |
addModificationDeleteProperty(QName propertyQName,
X... propertyValues) |
void |
addModificationDeleteReference(QName propertyQName,
PrismReferenceValue... refValues) |
<C extends Containerable> |
addModificationReplaceContainer(ItemPath propertyPath,
PrismContainerValue<C>... containerValues) |
<C extends Containerable> |
addModificationReplaceContainer(QName propertyQName,
PrismContainerValue<C>... containerValues) |
<X> void |
addModificationReplaceProperty(ItemPath propertyPath,
X... propertyValues) |
<X> void |
addModificationReplaceProperty(QName propertyQName,
X... propertyValues) |
<X> void |
addModificationReplaceReference(ItemPath refPath,
PrismReferenceValue... refValues) |
void |
addModificationReplaceReference(QName propertyQName,
PrismReferenceValue... refValues) |
void |
addModifications(Collection<? extends ItemDelta> itemDeltas) |
void |
addModifications(ItemDelta<?,?>... itemDeltas) |
void |
applyDefinition(PrismObjectDefinition<T> objectDefinition,
boolean force) |
void |
applyDefinitionIfPresent(PrismObjectDefinition<T> definition,
boolean tolerateNoDefinition) |
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) |
void |
checkConsistence(boolean requireOid,
boolean requireDefinition,
boolean prohibitRaw,
ConsistencyCheckScope scope) |
static void |
checkConsistence(Collection<? extends ObjectDelta<?>> deltas) |
void |
checkConsistence(ConsistencyCheckScope scope) |
protected void |
checkIdentifierConsistence(boolean requireOid) |
void |
clear() |
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) |
boolean |
containsModification(ItemDelta itemDelta,
boolean ignoreMetadata,
boolean isLiteral) |
static <O extends Objectable> |
createAddDelta(PrismObject<O> objectToAdd) |
<C extends Containerable> |
createContainerModification(ItemPath path) |
<C extends Containerable> |
createContainerModification(ItemPath path,
PrismContainerDefinition<C> containerDefinition) |
<C extends Containerable> |
createContainerModification(QName qname) |
static <O extends Objectable> |
createDeleteDelta(Class<O> type,
String oid,
PrismContext prismContext) |
static <O extends Objectable> |
createEmptyAddDelta(Class<O> type,
String oid,
PrismContext prismContext) |
static <O extends Objectable> |
createEmptyDeleteDelta(Class<O> type,
String oid,
PrismContext prismContext) |
static <O extends Objectable> |
createEmptyDelta(Class<O> type,
String oid,
PrismContext prismContext,
ChangeType changeType) |
static <O extends Objectable> |
createEmptyModifyDelta(Class<O> type,
String oid,
PrismContext prismContext) |
static <O extends Objectable,C extends Containerable> |
createModificationAddContainer(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
C... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationAddContainer(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
PrismContainerValue<C>... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationAddContainer(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
C... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationAddContainer(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
PrismContainerValue<C>... containerValues) |
static <O extends Objectable,X> |
createModificationAddProperty(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
X... propertyValues) |
static <O extends Objectable,X> |
createModificationAddProperty(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
X... propertyValues) |
static <O extends Objectable> |
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> |
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> |
createModificationAddReference(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
String... targetOids) |
static <O extends Objectable,C extends Containerable> |
createModificationDeleteContainer(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
C... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationDeleteContainer(Class<O> type,
String oid,
ItemPath containerPath,
PrismContext prismContext,
PrismContainerValue<C>... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationDeleteContainer(Class<O> type,
String oid,
QName containerName,
PrismContext prismContext,
C... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationDeleteContainer(Class<O> type,
String oid,
QName containerName,
PrismContext prismContext,
PrismContainerValue<C>... containerValues) |
static <O extends Objectable,X> |
createModificationDeleteProperty(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
X... propertyValues) |
static <O extends Objectable,X> |
createModificationDeleteProperty(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
X... propertyValues) |
static <O extends Objectable> |
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> |
createModificationDeleteReference(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
String... targetOids) |
static <O extends Objectable,C extends Containerable> |
createModificationReplaceContainer(Class<O> type,
String oid,
ItemPath propertyPath,
PrismContext prismContext,
C... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationReplaceContainer(Class<O> type,
String oid,
ItemPath containerPath,
PrismContext prismContext,
PrismContainerValue<C>... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationReplaceContainer(Class<O> type,
String oid,
QName propertyName,
PrismContext prismContext,
C... containerValues) |
static <O extends Objectable,C extends Containerable> |
createModificationReplaceContainer(Class<O> type,
String oid,
QName containerName,
PrismContext prismContext,
PrismContainerValue<C>... containerValues) |
static <O extends Objectable,X> |
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> |
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 <O extends Objectable,X> |
createModificationReplaceReference(Class<O> type,
String oid,
ItemPath refPath,
PrismContext prismContext,
PrismReferenceValue... refValues)
Convenience method for quick creation of object deltas that replace a single object reference.
|
static <O extends Objectable,X> |
createModificationReplaceReference(Class<O> type,
String oid,
QName referenceName,
PrismContext prismContext,
PrismReferenceValue... refValues)
Convenience method for quick creation of object deltas that replace a single object reference.
|
static <T extends Objectable> |
createModifyDelta(String oid,
Collection<? extends ItemDelta> modifications,
Class<T> objectTypeClass,
PrismContext prismContext) |
static <T extends Objectable> |
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<X> propertyDefinition) |
ReferenceDelta |
createReferenceModification(ItemPath path,
PrismReferenceDefinition referenceDefinition) |
ReferenceDelta |
createReferenceModification(QName name,
PrismReferenceDefinition referenceDefinition) |
ObjectDelta<T> |
createReverseDelta() |
String |
debugDump()
Show the content of the object intended for diagnostics by system administrator.
|
String |
debugDump(int indent) |
protected String |
debugIdentifiers() |
protected String |
debugName() |
boolean |
equals(Object obj) |
boolean |
equivalent(ObjectDelta other) |
ObjectDelta.FactorOutResultSingle<T> |
factorOut(Collection<ItemPath> paths,
boolean cloneDelta) |
ObjectDelta.FactorOutResultMulti<T> |
factorOutValues(ItemPath path,
boolean cloneDelta) |
protected static <O extends Objectable,C extends Containerable> |
fillInModificationAddContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContainerValue<C>... containerValues) |
protected static <O extends Objectable,C extends Containerable> |
fillInModificationAddContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContext prismContext,
C... containerables) |
protected static <O extends Objectable,X> |
fillInModificationAddProperty(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
X... propertyValues) |
protected static <O extends Objectable> |
fillInModificationAddReference(ObjectDelta<O> objectDelta,
ItemPath refPath,
PrismReferenceValue... refValues) |
protected static <O extends Objectable,C extends Containerable> |
fillInModificationDeleteContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContainerValue<C>... containerValues) |
protected static <O extends Objectable,C extends Containerable> |
fillInModificationDeleteContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContext prismContext,
C... containerables) |
protected static <O extends Objectable,X> |
fillInModificationDeleteProperty(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
X... propertyValues) |
protected static <O extends Objectable> |
fillInModificationDeleteReference(ObjectDelta<O> objectDelta,
ItemPath refPath,
PrismReferenceValue... refValues) |
protected static <O extends Objectable,C extends Containerable> |
fillInModificationReplaceContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
C... containerValues) |
protected static <O extends Objectable,C extends Containerable> |
fillInModificationReplaceContainer(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
PrismContainerValue<C>... containerValues) |
protected static <O extends Objectable,X> |
fillInModificationReplaceProperty(ObjectDelta<O> objectDelta,
ItemPath propertyPath,
X... propertyValues) |
protected static <O extends Objectable> |
fillInModificationReplaceReference(ObjectDelta<O> objectDelta,
ItemPath refPath,
PrismReferenceValue... refValues) |
<X extends Containerable> |
findContainerDelta(ItemPath propertyPath) |
<X extends Containerable> |
findContainerDelta(QName name) |
<IV extends PrismValue,ID extends ItemDefinition> |
findItemDelta(ItemPath propertyPath) |
Collection<? extends ItemDelta<?,?>> |
findItemDeltasSubPath(ItemPath itemPath)
Returns all item deltas at or below a specified path.
|
<IV extends PrismValue,ID extends ItemDefinition> |
findPartial(ItemPath propertyPath) |
<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(ItemPath itemPath) |
ReferenceDelta |
findReferenceModification(QName itemName) |
ChangeType |
getChangeType() |
List<PrismValue> |
getDeletedValuesFor(ItemPath itemPath)
Limitations:
(1) For DELETE object delta, we don't know what values were in the object's item.
|
Collection<? extends ItemDelta<?,?>> |
getModifications() |
List<ItemPath> |
getModifiedItems() |
List<PrismValue> |
getNewValuesFor(ItemPath itemPath) |
PrismObject<T> |
getObjectToAdd() |
Class<T> |
getObjectTypeClass() |
String |
getOid() |
PrismContext |
getPrismContext() |
boolean |
hasCompleteDefinition() |
int |
hashCode() |
boolean |
hasItemDelta(ItemPath propertyPath) |
boolean |
hasItemOrSubitemDelta(ItemPath propertyPath) |
boolean |
isAdd() |
static boolean |
isAdd(ObjectDelta<?> objectDelta) |
boolean |
isDelete() |
static boolean |
isDelete(ObjectDelta<?> objectDelta) |
boolean |
isEmpty() |
static boolean |
isEmpty(ObjectDeltaType deltaType) |
boolean |
isModify() |
static boolean |
isModify(ObjectDelta<?> objectDelta) |
static boolean |
isNullOrEmpty(ObjectDelta delta) |
void |
merge(ObjectDelta<T> deltaToMerge)
Merge provided delta into this delta.
|
void |
mergeModification(ItemDelta<?,?> modificationToMerge) |
void |
mergeModifications(Collection<? extends ItemDelta> modificationsToMerge) |
void |
normalize() |
void |
removeContainerModification(QName itemName) |
<D extends ItemDelta> |
removeModification(ItemDelta<?,?> itemDelta) |
void |
removePropertyModification(ItemPath itemPath) |
void |
removePropertyModification(QName itemName) |
void |
removeReferenceModification(ItemPath itemPath) |
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) |
ObjectDelta<T> |
subtract(Collection<ItemPath> paths)
Returns modifications that are related to the given paths; removes them from the original delta.
|
boolean |
subtract(ItemPath itemPath,
PrismValue value,
boolean fromMinusSet,
boolean dryRun)
Checks if the delta tries to add (or set) a 'value' for the item identified by 'itemPath'.
|
static boolean |
subtractFromModifications(Collection<? extends ItemDelta<?,?>> modifications,
ItemPath itemPath,
PrismValue value,
boolean fromMinusSet,
boolean dryRun) |
static boolean |
subtractFromObject(PrismObject<?> object,
ItemPath itemPath,
PrismValue value,
boolean dryRun) |
static <T extends Objectable> |
summarize(List<ObjectDelta<T>> deltas)
Returns a delta that is a "sum" of all the deltas in the collection.
|
static <T extends Objectable> |
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).
|
void |
swallow(List<ItemDelta<?,?>> itemDeltas) |
String |
toDebugType()
Returns short string identification of object type.
|
protected static <O extends Objectable,C extends Containerable> |
toPrismContainerValues(Class<O> type,
ItemPath path,
PrismContext prismContext,
C... containerValues) |
protected static <X> Collection<PrismPropertyValue<X>> |
toPrismPropertyValues(PrismContext prismContext,
X... propertyValues) |
String |
toString() |
static <T extends Objectable> |
union(ObjectDelta<T>... deltas)
Union of several object deltas.
|
finalize, getClass, notify, notifyAll, wait, wait, wait
debugDumpLazily, debugDumpLazily
public ObjectDelta(Class<T> objectTypeClass, ChangeType changeType, PrismContext prismContext)
public void accept(Visitor visitor, boolean includeOldValues)
public void accept(Visitor visitor, ItemPath path, boolean recursive)
accept
in interface PathVisitable
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)
@NotNull public Collection<? extends ItemDelta<?,?>> getModifications()
public <D extends ItemDelta> D addModification(D itemDelta)
public boolean containsModification(ItemDelta itemDelta)
public boolean containsModification(ItemDelta itemDelta, boolean ignoreMetadata, boolean isLiteral)
public void addModifications(Collection<? extends ItemDelta> itemDeltas)
public void addModifications(ItemDelta<?,?>... itemDeltas)
public <IV extends PrismValue,ID extends ItemDefinition> ItemDelta<IV,ID> findItemDelta(ItemPath propertyPath)
public <IV extends PrismValue,ID extends ItemDefinition> Collection<PartiallyResolvedDelta<IV,ID>> findPartial(ItemPath propertyPath)
public boolean hasItemDelta(ItemPath propertyPath)
public boolean hasItemOrSubitemDelta(ItemPath propertyPath)
public boolean hasCompleteDefinition()
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 ReferenceDelta findReferenceModification(ItemPath itemPath)
public Collection<? extends ItemDelta<?,?>> findItemDeltasSubPath(ItemPath itemPath)
public void removeReferenceModification(QName itemName)
public void removeReferenceModification(ItemPath itemPath)
public void removeContainerModification(QName itemName)
public void removePropertyModification(QName itemName)
public void removePropertyModification(ItemPath itemPath)
public boolean isEmpty()
public static boolean isEmpty(ObjectDeltaType deltaType)
public void normalize()
public void applyDefinitionIfPresent(PrismObjectDefinition<T> definition, boolean tolerateNoDefinition) throws SchemaException
SchemaException
public ObjectDelta<T> clone()
public void merge(ObjectDelta<T> deltaToMerge) throws SchemaException
SchemaException
@SafeVarargs 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 changeSchemaException
public void swallow(ItemDelta<?,?> newItemDelta) throws SchemaException
SchemaException
public void swallow(List<ItemDelta<?,?>> itemDeltas) throws SchemaException
SchemaException
public <X> PropertyDelta<X> createPropertyModification(QName name, PrismPropertyDefinition<X> 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 ReferenceDelta createReferenceModification(ItemPath path, PrismReferenceDefinition referenceDefinition)
public <C extends Containerable> ContainerDelta<C> createContainerModification(QName qname)
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, QName propertyName, 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 static <O extends Objectable,X> ObjectDelta<O> createModificationReplaceReference(Class<O> type, String oid, QName referenceName, PrismContext prismContext, PrismReferenceValue... refValues)
public static <O extends Objectable,X> ObjectDelta<O> createModificationReplaceReference(Class<O> type, String oid, ItemPath refPath, PrismContext prismContext, PrismReferenceValue... refValues)
public <X> void addModificationReplaceProperty(QName propertyQName, X... propertyValues)
public <X> void addModificationReplaceProperty(ItemPath propertyPath, X... propertyValues)
public <X> void addModificationReplaceReference(ItemPath refPath, PrismReferenceValue... refValues)
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)
public <C extends Containerable> void addModificationAddContainer(QName propertyQName, C... containerables) throws SchemaException
SchemaException
public <C extends Containerable> void addModificationAddContainer(ItemPath propertyPath, C... containerables) throws SchemaException
SchemaException
public <C extends Containerable> void addModificationAddContainer(QName propertyQName, PrismContainerValue<C>... containerValues)
public <C extends Containerable> void addModificationAddContainer(ItemPath propertyPath, PrismContainerValue<C>... containerValues)
public <C extends Containerable> void addModificationDeleteContainer(QName propertyQName, C... containerables) throws SchemaException
SchemaException
public <C extends Containerable> void addModificationDeleteContainer(ItemPath propertyPath, C... containerables) throws SchemaException
SchemaException
public <C extends Containerable> void addModificationDeleteContainer(QName propertyQName, PrismContainerValue<C>... containerValues)
public <C extends Containerable> void addModificationDeleteContainer(ItemPath propertyPath, PrismContainerValue<C>... containerValues)
public <C extends Containerable> void addModificationReplaceContainer(QName propertyQName, PrismContainerValue<C>... containerValues)
public <C extends Containerable> void addModificationReplaceContainer(ItemPath propertyPath, PrismContainerValue<C>... containerValues)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationReplaceContainer(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, C... containerValues) throws SchemaException
SchemaException
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 void addModificationAddReference(QName propertyQName, PrismReferenceValue... refValues)
public void addModificationDeleteReference(QName propertyQName, PrismReferenceValue... refValues)
public void addModificationReplaceReference(QName propertyQName, PrismReferenceValue... refValues)
protected static <O extends Objectable> void fillInModificationReplaceReference(ObjectDelta<O> objectDelta, ItemPath refPath, PrismReferenceValue... refValues)
protected static <O extends Objectable> void fillInModificationAddReference(ObjectDelta<O> objectDelta, ItemPath refPath, PrismReferenceValue... refValues)
protected static <O extends Objectable> void fillInModificationDeleteReference(ObjectDelta<O> objectDelta, ItemPath refPath, PrismReferenceValue... refValues)
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> createModificationAddContainer(Class<O> type, String oid, QName propertyName, PrismContext prismContext, C... containerValues) throws SchemaException
SchemaException
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationAddContainer(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, C... containerValues) throws SchemaException
SchemaException
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)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationDeleteContainer(Class<O> type, String oid, QName containerName, PrismContext prismContext, C... containerValues) throws SchemaException
SchemaException
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationDeleteContainer(Class<O> type, String oid, ItemPath propertyPath, PrismContext prismContext, C... containerValues) throws SchemaException
SchemaException
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)
public static <O extends Objectable,C extends Containerable> ObjectDelta<O> createModificationReplaceContainer(Class<O> type, String oid, QName propertyName, PrismContext prismContext, C... containerValues) throws SchemaException
SchemaException
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 fillInModificationAddContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContext prismContext, C... containerables) throws SchemaException
SchemaException
protected static <O extends Objectable,C extends Containerable> void fillInModificationDeleteContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContext prismContext, C... containerables) throws SchemaException
SchemaException
protected static <O extends Objectable,C extends Containerable> void fillInModificationReplaceContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, PrismContainerValue<C>... containerValues)
protected static <O extends Objectable,C extends Containerable> void fillInModificationReplaceContainer(ObjectDelta<O> objectDelta, ItemPath propertyPath, C... containerValues) throws SchemaException
SchemaException
protected static <X> Collection<PrismPropertyValue<X>> toPrismPropertyValues(PrismContext prismContext, X... propertyValues)
protected static <O extends Objectable,C extends Containerable> Collection<PrismContainerValue<C>> toPrismContainerValues(Class<O> type, ItemPath path, PrismContext prismContext, C... containerValues) throws SchemaException
SchemaException
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) throws SchemaException
SchemaException
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 ObjectDelta<T> createReverseDelta() throws SchemaException
SchemaException
public void checkConsistence()
public void checkConsistence(ConsistencyCheckScope scope)
public void checkConsistence(boolean requireOid, boolean requireDefinition, boolean prohibitRaw)
public void checkConsistence(boolean requireOid, boolean requireDefinition, boolean prohibitRaw, ConsistencyCheckScope scope)
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) throws SchemaException
SchemaException
public void applyDefinition(PrismObjectDefinition<T> objectDefinition, boolean force) throws SchemaException
SchemaException
public boolean equivalent(ObjectDelta other)
protected String debugName()
protected String debugIdentifiers()
public String toDebugType()
public String debugDump()
DebugDumpable
debugDump
in interface DebugDumpable
public String debugDump(int indent)
debugDump
in interface DebugDumpable
public static boolean isNullOrEmpty(ObjectDelta delta)
public ObjectDelta<T> subtract(@NotNull Collection<ItemPath> paths)
paths
- @NotNull public ObjectDelta.FactorOutResultSingle<T> factorOut(Collection<ItemPath> paths, boolean cloneDelta)
@NotNull public ObjectDelta.FactorOutResultMulti<T> factorOutValues(ItemPath path, boolean cloneDelta) throws SchemaException
SchemaException
public boolean subtract(@NotNull ItemPath itemPath, @NotNull PrismValue value, boolean fromMinusSet, boolean dryRun)
itemPath
- value
- dryRun
- only testing if value could be subtracted; not changing anythingpublic static boolean subtractFromModifications(Collection<? extends ItemDelta<?,?>> modifications, @NotNull ItemPath itemPath, @NotNull PrismValue value, boolean fromMinusSet, boolean dryRun)
public static boolean subtractFromObject(@NotNull PrismObject<?> object, @NotNull ItemPath itemPath, @NotNull PrismValue value, boolean dryRun)
public List<PrismValue> getNewValuesFor(ItemPath itemPath)
public List<PrismValue> getDeletedValuesFor(ItemPath itemPath)
public void clear()
Copyright © 2018 Evolveum. All rights reserved.