Class RelationRegistryImpl

    • Constructor Detail

      • RelationRegistryImpl

        public RelationRegistryImpl()
    • Method Detail

      • getRelationDefinitions

        public List<RelationDefinitionType> getRelationDefinitions()
        Description copied from interface: RelationRegistry
        Returns all relation definitions: explicitly specified as well as built-in ones. Invalid or duplicate definitions are filtered out and not mentioned here. Each relation is listed only once even if it can be referenced using various QNames (e.g. null, default, org:default).
        Specified by:
        getRelationDefinitions in interface RelationRegistry
      • getRelationDefinition

        public RelationDefinitionType getRelationDefinition​(QName relation)
        Description copied from interface: RelationRegistry
        Returns a relation definition for a specified relation name. The relation name need not be normalized, i.e. all names for a relation might be used here (e.g. null, default, org:default); resulting in the same definition. Returns null if the definition cannot be found.
        Specified by:
        getRelationDefinition in interface RelationRegistry
      • isProcessedOnLogin

        public boolean isProcessedOnLogin​(QName relation)
        Description copied from interface: RelationRegistry
        Whether this kind of relations is processed on login. By default, only relations of MEMBER and DELEGATION kinds are.
        Specified by:
        isProcessedOnLogin in interface RelationRegistry
      • isProcessedOnRecompute

        public boolean isProcessedOnRecompute​(QName relation)
        Description copied from interface: RelationRegistry
        Whether this kind of relations is processed on recompute. By default, only relations of MEMBER, MANAGER and DELEGATION kinds are.
        Specified by:
        isProcessedOnRecompute in interface RelationRegistry
      • isStoredIntoParentOrgRef

        public boolean isStoredIntoParentOrgRef​(QName relation)
        Description copied from interface: RelationRegistry
        Whether this kind of relations is stored in parentOrgRef. By default, only relations of MEMBER kind are.
        Specified by:
        isStoredIntoParentOrgRef in interface RelationRegistry
      • isAutomaticallyMatched

        public boolean isAutomaticallyMatched​(QName relation)
        Description copied from interface: RelationRegistry
        Whether this kind of relations is automatically matched by order constraints. By default, only relations of MEMBER, META and DELEGATION kinds are.
        Specified by:
        isAutomaticallyMatched in interface RelationRegistry
      • getDefaultRelationFor

        public QName getDefaultRelationFor​(RelationKindType kind)
        Description copied from interface: RelationRegistry
        Returns the default relation for a given kind. The result might be a null value; although it is a bad practice to configure midPoint in that way. Unused relations are better hidden using categories.
        Specified by:
        getDefaultRelationFor in interface RelationRegistry
      • getAllRelationsFor

        @NotNull
        public @NotNull Collection<QName> getAllRelationsFor​(RelationKindType kind)
        Description copied from interface: RelationRegistry
        Returns all relations of a given kind. Note that the result might be an empty set; although it is a bad practice to configure midPoint in that way. Unused relations are better hidden using categories.
        Specified by:
        getAllRelationsFor in interface RelationRegistry
      • getDefaultRelation

        public QName getDefaultRelation()
        Description copied from interface: RelationRegistry
        Returns the default relation i.e. the one that is equivalent to the null relation name. Please do NOT use this information for queries nor determining the behavior of the relation! Use relation kinds instead.
        Specified by:
        getDefaultRelation in interface RelationRegistry
      • normalizeRelation

        @NotNull
        public @NotNull QName normalizeRelation​(QName relation)
        Description copied from interface: RelationRegistry
        Returns a normalized relation name, i.e. the one that is used in the "ref" item on the definition. It should be qualified (so please DO NOT use unqualified relation names in the definitions!) Returns default relation for null input, never returns null. If the relation is unknown, the relation name is returned unchanged.
        Specified by:
        normalizeRelation in interface RelationRegistry
      • isDefault

        public boolean isDefault​(QName relation)
        Description copied from interface: RelationRegistry
        Checks whether the relation is equivalent to the default one. Please do NOT use this information for determining the behavior of the relation! Use relation kinds instead.
        Specified by:
        isDefault in interface RelationRegistry
      • getAliases

        @NotNull
        public @NotNull Collection<QName> getAliases​(QName relation)
        Description copied from interface: RelationRegistry
        Returns aliases of a relation. Currently these are: - unqualified version of the relation QName - null if the relation is the default one -- In the future we might return some other values (e.g. explicitly configured aliases) as well. But we would need to adapt prismContext.relationsEquivalent method and other comparison methods as well. So it is perhaps not worth the effort.
        Specified by:
        getAliases in interface RelationRegistry