Class ObjectMarkHelper
java.lang.Object
com.evolveum.midpoint.repo.common.ObjectMarkHelper
Computes effective object marks and their deltas.
Does not deal with the policies attached to marks. See
ObjectOperationPolicyHelper
for that.
Effective mark references have the following characteristics:
. They always have an OID.
. They have either a default relation, or `org:related` one. The latter means that the reference is inactive, and is present
only for the purpose of holding value metadata (usually that it was computed by a rule, but disabled by a statement).
. They are computed using the `production` configuration (regarding statements, and later e.g. marking rules).
Note the difference between computeObjectMarks(ObjectType, ObjectMarksComputer, TaskExecutionMode, OperationResult)
and computeObjectMarksWithoutComputer(ObjectType, TaskExecutionMode)
. The former is able to add extra marking, whereas
the latter simply applies policy statements to the existing marks.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static interface
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionItemDelta<?,
?> computeEffectiveMarkDelta
(@NotNull Collection<ObjectReferenceType> currentMarks, @NotNull Collection<ObjectReferenceType> desiredMarks) Computes effective mark delta for given object, given current and desired state of marks.ItemDelta<?,
?> computeEffectiveMarkDelta
(ObjectType objectBefore, ItemDelta<?, ?> policyStatementDelta) Computes effective mark delta for given object, given old state and the delta regarding policy statements.void
destroy()
static ObjectMarkHelper
get()
void
init()
-
Constructor Details
-
ObjectMarkHelper
public ObjectMarkHelper()
-
-
Method Details
-
init
@PostConstruct public void init() -
destroy
@PreDestroy public void destroy() -
get
-
computeEffectiveMarkDelta
public ItemDelta<?,?> computeEffectiveMarkDelta(ObjectType objectBefore, ItemDelta<?, ?> policyStatementDelta) throws SchemaExceptionComputes effective mark delta for given object, given old state and the delta regarding policy statements. Assuming that `effectiveMarkRef` is not changed in the same operation.- Throws:
SchemaException
-
computeEffectiveMarkDelta
public ItemDelta<?,?> computeEffectiveMarkDelta(@NotNull @NotNull Collection<ObjectReferenceType> currentMarks, @NotNull @NotNull Collection<ObjectReferenceType> desiredMarks) throws SchemaException Computes effective mark delta for given object, given current and desired state of marks.- Throws:
SchemaException
-