Class AssignmentPathImpl
java.lang.Object
com.evolveum.midpoint.model.impl.lens.assignments.AssignmentPathImpl
- All Implemented Interfaces:
AssignmentPath
,DebugDumpable
,ShortDumpable
,Serializable
,Cloneable
Path from focus object to a given assignment.
Contains also some (although not complete) information on evaluation of individual segments.
- Author:
- semancik
- See Also:
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(AssignmentPathSegmentImpl segment) beforeLast
(int n) clone()
Shallow clone.cloneFirst
(int n) collectExtensions
(int startAt) @Nullable AssignmentPathVariables
int
countTargetOccurrences
(ObjectType target) debugDump
(int indent) boolean
equivalent
(AssignmentPath other) Preliminary (limited) implementation.first()
Used as a source for thisObject variable.@NotNull List<ObjectType>
Returns a "user understandable" part of this path.Returns the limitation for "other" privileges that are delegated through this path.@NotNull PrismContext
In the context of meta-roles this is the role that the currently-processed inducement "applies to".getSegment
(int index) Returns segment specified by index.@NotNull List<AssignmentPathSegmentImpl>
boolean
isEmpty()
last()
boolean
matches
(@NotNull List<OrderConstraintsType> orderConstraints) Returns true if the path matches specified order constraints.void
Show the content of the object intended for diagnostics.int
size()
toAssignmentPathBean
(boolean includeAssignmentsContent) toString()
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.model.api.context.AssignmentPath
containsDelegation, getAt
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.util.ShortDumpable
shortDump, shortDumpLazily
-
Constructor Details
-
AssignmentPathImpl
public AssignmentPathImpl()
-
-
Method Details
-
getSegments
- Specified by:
getSegments
in interfaceAssignmentPath
-
getSegment
Description copied from interface:AssignmentPath
Returns segment specified by index. Negative indexes work in reverse direction.- Specified by:
getSegment
in interfaceAssignmentPath
-
add
-
first
- Specified by:
first
in interfaceAssignmentPath
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceAssignmentPath
-
size
public int size()- Specified by:
size
in interfaceAssignmentPath
-
last
- Specified by:
last
in interfaceAssignmentPath
-
beforeLast
- Specified by:
beforeLast
in interfaceAssignmentPath
-
countTargetOccurrences
- Specified by:
countTargetOccurrences
in interfaceAssignmentPath
-
getFirstOrderChain
Description copied from interface:AssignmentPath
Returns a "user understandable" part of this path. I.e. only those objects that are of "order 1" above the focal object. E.g. from chain of jack =(a)=> Engineer =(i)=> Employee =(a)=> PersonMetarole =(i2)=> Person =(i)=> Entity the result would be Engineer -> Employee -> Person -> Entity TODO find a better name- Specified by:
getFirstOrderChain
in interfaceAssignmentPath
-
getProtoRole
Description copied from interface:AssignmentPath
In the context of meta-roles this is the role that the currently-processed inducement "applies to". I.e. the role that would contain this inducement in case that meta-roles were not used. Technically, this is the last element in the "first order chain" or roles. Note: proto- is the opposite of meta-- Specified by:
getProtoRole
in interfaceAssignmentPath
-
clone
Description copied from interface:AssignmentPath
Shallow clone.- Specified by:
clone
in interfaceAssignmentPath
- Overrides:
clone
in classObject
-
cloneFirst
- Specified by:
cloneFirst
in interfaceAssignmentPath
-
toString
-
debugDump
- Specified by:
debugDump
in interfaceDebugDumpable
-
shortDump
Description copied from interface:ShortDumpable
Show the content of the object intended for diagnostics. This method is supposed to append a compact, human-readable output in a single line. Unlike toString() method, there is no requirement to identify the actual class or type of the object. It is assumed that the class/type will be obvious from the context in which the output is used.- Specified by:
shortDump
in interfaceShortDumpable
- Parameters:
sb
- StringBuilder to which to a compact one-line content of the object intended for diagnostics by system administrator should be appended.
-
toAssignmentPathBean
- Specified by:
toAssignmentPathBean
in interfaceAssignmentPath
-
getPrismContext
-
collectExtensions
- Specified by:
collectExtensions
in interfaceAssignmentPath
- Throws:
SchemaException
-
matches
Description copied from interface:AssignmentPath
Returns true if the path matches specified order constraints. All of them must match. Although there are some defaults, it is recommended to specify constraints explicitly. Currently not supported on empty paths. Not all parts of OrderConstraintsType are supported. Namely, resetOrder item has no meaning here.- Specified by:
matches
in interfaceAssignmentPath
-
equivalent
Description copied from interface:AssignmentPath
Preliminary (limited) implementation. To be used to compare paths pointing to the same target object. Use with care.- Specified by:
equivalent
in interfaceAssignmentPath
-
getOtherPrivilegesLimitation
Description copied from interface:AssignmentPath
Returns the limitation for "other" privileges that are delegated through this path.- Specified by:
getOtherPrivilegesLimitation
in interfaceAssignmentPath
-
getConstructionThisObject
Used as a source for thisObject variable. This variable is officially deprecated, but it is used as a legacy role pointer inAssociationFromLinkExpressionEvaluator
. This is the specification from common-3 documentation: "The legacy algorithm is guaranteed to work up to meta-role level. For plain roles (order-one inducement) the role itself is selected. For meta-roles (order-two inducement) the first (plain) role is selected. At the meta-meta role level (order-three inducement) and above the behavior is formally undefined and it may change in any future versions. However, current behaviour roughly corresponds to assignment path index -2." Should be removed or adapted on appropriate occasion. -
computePathVariables
- Throws:
SchemaException
-