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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(AssignmentPathSegmentImpl segment) beforeLast(int n) clone()Shallow clone.cloneFirst(int n) collectExtensions(int startAt) @Nullable AssignmentPathVariablesintcountTargetOccurrences(ObjectType target) debugDump(int indent) booleanequivalent(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 PrismContextIn 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>booleanisEmpty()last()booleanmatches(@NotNull List<OrderConstraintsType> orderConstraints) Returns true if the path matches specified order constraints.voidShow the content of the object intended for diagnostics.intsize()toAssignmentPathBean(boolean includeAssignmentsContent) toString()Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.model.api.context.AssignmentPath
containsDelegation, getAtMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.util.ShortDumpable
shortDump, shortDumpLazily
-
Constructor Details
-
AssignmentPathImpl
public AssignmentPathImpl()
-
-
Method Details
-
getSegments
- Specified by:
getSegmentsin interfaceAssignmentPath
-
getSegment
Description copied from interface:AssignmentPathReturns segment specified by index. Negative indexes work in reverse direction.- Specified by:
getSegmentin interfaceAssignmentPath
-
add
-
first
- Specified by:
firstin interfaceAssignmentPath
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceAssignmentPath
-
size
public int size()- Specified by:
sizein interfaceAssignmentPath
-
last
- Specified by:
lastin interfaceAssignmentPath
-
beforeLast
- Specified by:
beforeLastin interfaceAssignmentPath
-
countTargetOccurrences
- Specified by:
countTargetOccurrencesin interfaceAssignmentPath
-
getFirstOrderChain
Description copied from interface:AssignmentPathReturns 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:
getFirstOrderChainin interfaceAssignmentPath
-
getProtoRole
Description copied from interface:AssignmentPathIn 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:
getProtoRolein interfaceAssignmentPath
-
clone
Description copied from interface:AssignmentPathShallow clone.- Specified by:
clonein interfaceAssignmentPath- Overrides:
clonein classObject
-
cloneFirst
- Specified by:
cloneFirstin interfaceAssignmentPath
-
toString
-
debugDump
- Specified by:
debugDumpin interfaceDebugDumpable
-
shortDump
Description copied from interface:ShortDumpableShow 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:
shortDumpin 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:
toAssignmentPathBeanin interfaceAssignmentPath
-
getPrismContext
-
collectExtensions
- Specified by:
collectExtensionsin interfaceAssignmentPath- Throws:
SchemaException
-
matches
Description copied from interface:AssignmentPathReturns 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:
matchesin interfaceAssignmentPath
-
equivalent
Description copied from interface:AssignmentPathPreliminary (limited) implementation. To be used to compare paths pointing to the same target object. Use with care.- Specified by:
equivalentin interfaceAssignmentPath
-
getOtherPrivilegesLimitation
Description copied from interface:AssignmentPathReturns the limitation for "other" privileges that are delegated through this path.- Specified by:
getOtherPrivilegesLimitationin 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
-