Class AssignmentPathImpl

    • Constructor Detail

      • AssignmentPathImpl

        public AssignmentPathImpl()
    • Method Detail

      • getFirstOrderChain

        public @NotNull List<ObjectType> 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 interface AssignmentPath
      • getProtoRole

        public ObjectType 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 interface AssignmentPath
      • hasOnlyOrgs

        public boolean hasOnlyOrgs()
      • shortDump

        public void shortDump​(StringBuilder sb)
        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 interface ShortDumpable
        sb - StringBuilder to which to a compact one-line content of the object intended for diagnostics by system administrator should be appended.
      • getPrismContext

        public @NotNull PrismContext getPrismContext()
      • matches

        public boolean matches​(@NotNull
                               @NotNull List<OrderConstraintsType> orderConstraints)
        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 interface AssignmentPath
      • equivalent

        public boolean equivalent​(AssignmentPath other)
        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 interface AssignmentPath
      • getConstructionThisObject

        public ObjectType getConstructionThisObject()
        Used as a source for thisObject variable. This variable is officially deprecated, but it is used as a legacy role pointer in AssociationFromLinkExpressionEvaluator. 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.