Interface AttributeDefinitionStore

All Superinterfaces:
LocalItemDefinitionStore
All Known Subinterfaces:
CompositeObjectDefinition, CompositeObjectDefinitionDelegator, MutableResourceObjectClassDefinition, ResourceObjectClassDefinition, ResourceObjectClassDefinitionDelegator, ResourceObjectDefinition, ResourceObjectDefinitionDelegator, ResourceObjectTypeDefinition, ResourceObjectTypeDefinitionDelegator
All Known Implementing Classes:
AbstractResourceObjectDefinitionImpl, CompositeObjectDefinitionImpl, ResourceObjectClassDefinitionImpl, ResourceObjectTypeDefinitionImpl, TransformableComplexTypeDefinition.TrCompositeObjectDefinition, TransformableComplexTypeDefinition.TrResourceObjectClassDefinition, TransformableComplexTypeDefinition.TrResourceObjectDefinition, TransformableComplexTypeDefinition.TrResourceObjectTypeDefinition

public interface AttributeDefinitionStore extends LocalItemDefinitionStore
Provides information about resource object attributes.
  • Method Details

    • getAttributeDefinitions

      @NotNull @NotNull List<? extends ResourceAttributeDefinition<?>> getAttributeDefinitions()
      Returns all attribute definitions as an unmodifiable collection. Should be the same content as returned by `getDefinitions`. The returned value is a List because of the contract of ComplexTypeDefinition.getDefinitions().
    • getAttributeDefinitions

      @NotNull default <AD extends ResourceAttributeDefinition<?>> @NotNull Collection<AD> getAttributeDefinitions(Class<AD> type)
      Returns all attribute definitions of given type as an unmodifiable collection.
    • findAttributeDefinition

      @Nullable default @Nullable ResourceAttributeDefinition<?> findAttributeDefinition(QName name)
      Finds a definition of an attribute with a given name. Returns null if nothing is found.
    • findAttributeDefinitionRequired

      @NotNull default @NotNull ResourceAttributeDefinition<?> findAttributeDefinitionRequired(@NotNull @NotNull QName name) throws SchemaException
      Finds a definition of an attribute with a given name. Throws SchemaException if it's not there.
      Throws:
      SchemaException
    • findAttributeDefinitionStrictlyRequired

      @NotNull default @NotNull ResourceAttributeDefinition<?> findAttributeDefinitionStrictlyRequired(@NotNull @NotNull QName name)
      Finds a definition of an attribute with a given name. Throws IllegalStateException if it's not there.
    • findAttributeDefinitionRequired

      @NotNull default @NotNull ResourceAttributeDefinition<?> findAttributeDefinitionRequired(@NotNull @NotNull QName name, @NotNull @NotNull Supplier<String> contextSupplier) throws SchemaException
      Finds a definition of an attribute with a given name. Throws SchemaException if it's not there.
      Throws:
      SchemaException
    • findAttributeDefinitionStrictlyRequired

      @NotNull default @NotNull ResourceAttributeDefinition<?> findAttributeDefinitionStrictlyRequired(@NotNull @NotNull QName name, @NotNull @NotNull Supplier<String> contextSupplier)
      Finds a definition of an attribute with a given name. Throws IllegalStateException if it's not there.
    • findAttributeDefinition

      @Nullable default @Nullable ResourceAttributeDefinition<?> findAttributeDefinition(QName name, boolean caseInsensitive)
      Finds a attribute definition by looking at the property name. Returns null if nothing is found.
      Parameters:
      name - property definition name
      caseInsensitive - if true, ignoring the case
      Returns:
      found property definition or null
    • findAttributeDefinition

      default ResourceAttributeDefinition<?> findAttributeDefinition(String name)
      Finds attribute definition using local name only. BEWARE: Ignores attributes in namespaces other than "ri:" (e.g. icfs:uid and icfs:name).
    • hasIndexOnlyAttributes

      default boolean hasIndexOnlyAttributes()
      Returns true if the object class has any index-only attributes.
    • containsAttributeDefinition

      default boolean containsAttributeDefinition(@NotNull @NotNull QName attributeName)
      Returns true if there is an attribute with the given name defined.
    • getNamesOfAttributesWithOutboundExpressions

      default Collection<? extends QName> getNamesOfAttributesWithOutboundExpressions()
    • getNamesOfAttributesWithInboundExpressions

      default Collection<? extends QName> getNamesOfAttributesWithInboundExpressions()
    • propertyToAttribute

      @NotNull default <T> @NotNull ResourceAttribute<T> propertyToAttribute(PrismProperty<T> property) throws SchemaException
      Converts a PrismProperty into corresponding ResourceAttribute. Used in the process of "definition application" in `applyDefinitions` and similar methods.
      Throws:
      SchemaException