Interface AssignmentPath
-
- All Superinterfaces:
Cloneable
,DebugDumpable
,ShortDumpable
- All Known Implementing Classes:
AssignmentPathImpl
public interface AssignmentPath extends DebugDumpable, ShortDumpable, Cloneable
Path from the source object (focus) to the ultimate assignment that is being processed or referenced. The path consists of a chain (list) of segments. Each segment corresponds to a single assignment or inducement. The source of the first segment is the focus. Source of each following segment (i.e. assignment) is the target of previous segment (i.e. assignment).- Author:
- semancik, mederly
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description AssignmentPathSegment
beforeLast(int n)
AssignmentPath
clone()
Shallow clone.AssignmentPath
cloneFirst(int n)
ExtensionType
collectExtensions(int startAt)
static ExtensionType
collectExtensions(AssignmentPathType path, int startAt, ModelService modelService, Task task, OperationResult result)
int
countTargetOccurrences(ObjectType target)
boolean
equivalent(AssignmentPath other)
Preliminary (limited) implementation.AssignmentPathSegment
first()
default AssignmentPathSegment
getAt(int index)
List<ObjectType>
getFirstOrderChain()
Returns a "user understandable" part of this path.ObjectType
getProtoRole()
In the context of meta-roles this is the role that the currently-processed inducement "applies to".AssignmentPathSegment
getSegment(int index)
Returns segment specified by index.List<? extends AssignmentPathSegment>
getSegments()
boolean
isEmpty()
AssignmentPathSegment
last()
boolean
matches(List<OrderConstraintsType> orderConstraints)
Returns true if the path matches specified order constraints.int
size()
AssignmentPathType
toAssignmentPathType(boolean includeAssignmentsContent)
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.util.ShortDumpable
shortDump, shortDump, shortDumpLazily
-
-
-
-
Method Detail
-
getSegments
List<? extends AssignmentPathSegment> getSegments()
-
getSegment
AssignmentPathSegment getSegment(int index)
Returns segment specified by index. Negative indexes work in reverse direction.- Throws:
IndexOutOfBoundsException
-
first
AssignmentPathSegment first()
-
isEmpty
boolean isEmpty()
-
size
int size()
-
last
AssignmentPathSegment last()
-
beforeLast
AssignmentPathSegment beforeLast(int n)
-
countTargetOccurrences
int countTargetOccurrences(ObjectType target)
-
getFirstOrderChain
@NotNull List<ObjectType> getFirstOrderChain()
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
-
getProtoRole
ObjectType getProtoRole()
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-
-
clone
AssignmentPath clone()
Shallow clone.
-
cloneFirst
AssignmentPath cloneFirst(int n)
-
toAssignmentPathType
AssignmentPathType toAssignmentPathType(boolean includeAssignmentsContent)
-
collectExtensions
ExtensionType collectExtensions(int startAt) throws SchemaException
- Throws:
SchemaException
-
collectExtensions
static ExtensionType collectExtensions(AssignmentPathType path, int startAt, ModelService modelService, Task task, OperationResult result) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException
-
getAt
default AssignmentPathSegment getAt(int index)
-
matches
boolean matches(@NotNull List<OrderConstraintsType> orderConstraints)
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.
-
equivalent
boolean equivalent(AssignmentPath other)
Preliminary (limited) implementation. To be used to compare paths pointing to the same target object. Use with care.
-
-