Interface ObjectClassComplexTypeDefinition

    • Method Detail

      • getAttributeDefinitions

        @NotNull
        Collection<? extends ResourceAttributeDefinition<?>> getAttributeDefinitions()
        Returns all attribute definitions as an unmodifiable collection. Should be the same content as returned by getDefinitions().
      • findAttributeDefinition

        @Nullable
        default <X> ResourceAttributeDefinition<X> findAttributeDefinition​(QName name)
        Finds a attribute definition by looking at the property name.

        Returns null if nothing is found.

        Parameters:
        name - property definition name
        Returns:
        found property definition or null
      • findAttributeDefinition

        @Nullable
        default <X> ResourceAttributeDefinition<X> findAttributeDefinition​(QName name,
                                                                           boolean caseInsensitive)
        Finds a attribute definition by looking at the property name; not considering the case.

        Returns null if nothing is found.

        Parameters:
        name - property definition name
        Returns:
        found property definition or null
      • getPrimaryIdentifiers

        @NotNull
        Collection<? extends ResourceAttributeDefinition<?>> getPrimaryIdentifiers()
        Returns the definition of primary identifier attributes of a resource object. May return empty set if there are no identifier attributes. Must not return null. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing.
        Returns:
        definition of identifier attributes
      • isPrimaryIdentifier

        default boolean isPrimaryIdentifier​(QName attrName)
        Returns true if the attribute with a given name is among primary identifiers. Matching is done using namespace-approximate method (testing only local part if no namespace is provided), so beware of incidental matching (e.g. ri:uid vs icfs:uid).
      • getSecondaryIdentifiers

        @NotNull
        Collection<? extends ResourceAttributeDefinition<?>> getSecondaryIdentifiers()
        Returns the definition of secondary identifier attributes of a resource object. May return empty set if there are no secondary identifier attributes. Must not return null. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing.
        Returns:
        definition of secondary identifier attributes
      • isSecondaryIdentifier

        default boolean isSecondaryIdentifier​(QName attrName)
        Returns true if the attribute with a given name is among secondary identifiers. Matching is done using namespace-approximate method (testing only local part if no namespace is provided), so beware of incidental matching (e.g. ri:uid vs icfs:uid).
      • getDescriptionAttribute

        <X> ResourceAttributeDefinition<X> getDescriptionAttribute()
        Returns the definition of description attribute of a resource object. Returns null if there is no description attribute. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing.
      • getDisplayNameAttribute

        <X> ResourceAttributeDefinition<X> getDisplayNameAttribute()
        Returns the definition of display name attribute. Display name attribute specifies which resource attribute should be used as title when displaying objects of a specific resource object class. It must point to an attribute of String type. If not present, primary identifier should be used instead (but this method does not handle this default behavior). Returns null if there is no display name attribute. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing.
      • getNativeObjectClass

        String getNativeObjectClass()
        Returns the native object class string for the resource object. Native object class is the name of the Resource Object Definition (Object Class) as it is seen by the resource itself. The name of the Resource Object Definition may be constrained by XSD or other syntax and therefore may be "mangled" to conform to such syntax. The native object class value will contain unmangled name (if available). Returns null if there is no native object class. The exception should be never thrown unless there is some bug in the code. The validation of model consistency should be done at the time of schema parsing.
        Returns:
        native object class
      • isAuxiliary

        boolean isAuxiliary()
        TODO
        Returns:
      • getKind

        ShadowKindType getKind()
        TODO: THIS SHOULD NOT BE HERE
        Returns:
      • isDefaultInAKind

        boolean isDefaultInAKind()
        Indicates whether definition is should be used as default definition in ist kind. E.g. if used in an "account" kind it indicates default account definition. If true value is returned then the definition should be used as a default definition for the kind. This is a way how a resource connector may suggest applicable object classes (resource object definitions) for individual shadow kinds (e.g. accounts).
        Returns:
        true if the definition should be used as account type.
      • getIntent

        String getIntent()
        TODO: THIS SHOULD NOT BE HERE
        Returns:
      • matches

        boolean matches​(ShadowType shadowType)