Class ConfigurationItemOrigin
java.lang.Object
com.evolveum.midpoint.schema.config.ConfigurationItemOrigin
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
ConfigurationItemOrigin.External
,ConfigurationItemOrigin.Generated
,ConfigurationItemOrigin.InDelta
,ConfigurationItemOrigin.InObject
,ConfigurationItemOrigin.Undetermined
Description of an origin of a configuration item (expression, mapping, and so on).
Necessary e.g. for the derivation of an
ExpressionProfile
.
== Open questions
We implicitly assume that the prism objects (of which configuration items are parts) come from the repository, where they
were stored according to the respective authorizations. (It is, after all, a necessary condition to use the origin as a basis
for expression profile determination!)
But, then, what about (full) objects coming not from the repository but from external sources?
TODO make this class a kind-of immutable (currently, we do have full objects here)- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Represents an item that was defined out of context of any prism object.static class
Represents an item that was generated by the system.static class
An item that is a part of a delta (of unspecified provenience) that is targeting a given object.static class
A typical case: an item that is a part of a prism object.static class
Represents an origin we are not currently able to determine exactly. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract ConfigurationItemOrigin
static ConfigurationItemOrigin
Intentionally fails for detached objects.static ConfigurationItemOrigin
embedded
(@NotNull Object value, @NotNull OriginProvider<? super PrismValue> providerForDetachedValues) static ConfigurationItemOrigin
Use with care!abstract @NotNull String
Returns the description of the origin, e.g.static ConfigurationItemOrigin
Use with care!static ConfigurationItemOrigin
inDelta
(@NotNull ObjectType targetObject, @NotNull ItemPath path) static ConfigurationItemOrigin
inObject
(@NotNull ObjectType originatingObject, @NotNull ItemPath path) static ConfigurationItemOrigin
inObjectApproximate
(@NotNull ObjectType originatingObject, @NotNull ItemPath knownPath) static ConfigurationItemOrigin
inResourceOrAncestor
(@NotNull ResourceType resource) Very approximate origin: we know that the configuration item is used in a given (resolved, i.e., expanded) resource.static ConfigurationItemOrigin
rest()
@NotNull ConfigurationItemOrigin
static ConfigurationItemOrigin
Undetermined but safe, because it is never used to determine the expression profile.static ConfigurationItemOrigin
user()
-
Constructor Details
-
ConfigurationItemOrigin
public ConfigurationItemOrigin()
-
-
Method Details
-
undeterminedSafe
Undetermined but safe, because it is never used to determine the expression profile. -
external
Use with care! Careless use of this origin may render expression profiles ineffective. -
rest
-
user
-
generated
Use with care! Careless use of this origin may render expression profiles ineffective. -
embedded
Intentionally fails for detached objects. -
embedded
public static ConfigurationItemOrigin embedded(@NotNull @NotNull Object value, @NotNull @NotNull OriginProvider<? super PrismValue> providerForDetachedValues) -
inObject
public static ConfigurationItemOrigin inObject(@NotNull @NotNull ObjectType originatingObject, @NotNull @NotNull ItemPath path) -
inResourceOrAncestor
Very approximate origin: we know that the configuration item is used in a given (resolved, i.e., expanded) resource. But we don't know how it got there. It may be the resource object itself, but also any super-resource from which this resource inherits. See MID-9018. -
inObjectApproximate
public static ConfigurationItemOrigin inObjectApproximate(@NotNull @NotNull ObjectType originatingObject, @NotNull @NotNull ItemPath knownPath) -
inDelta
public static ConfigurationItemOrigin inDelta(@NotNull @NotNull ObjectType targetObject, @NotNull @NotNull ItemPath path) -
child
-
child
-
fullDescription
Returns the description of the origin, e.g. "in role:xxx(xxx) @assignment[102]/condition". -
toApproximate
-