Interface Attributes

All Known Implementing Classes:
DefaultAttributes, ServiceAccountAttributes

public interface Attributes

This interface wraps the attributes associated with a user profile. Different operations are provided to access and manage these attributes.

Attributes are classified as:

  • Managed
  • Unmanaged

A managed attribute is any attribute defined in the user profile configuration. Therefore, they are known by the server and can be managed accordingly.

A unmanaged attributes is any attribute not defined in the user profile configuration. Therefore, the server does not know about them and they cannot use capabilities provided by the server. However, they can still be managed by administrators by setting any of the UPConfig.UnmanagedAttributePolicy.

Any attribute available from this interface has a corresponding AttributeMetadata

. The metadata describes the settings for a given attribute so that the server can communicate to a caller the constraints (see UPConfig and the availability of the attribute in a given UserProfileContext.
Author:
Pedro Igor
  • Field Details

    • EMPTY_VALUE

      static final List<String> EMPTY_VALUE
      Default value for attributes with no value set.
  • Method Details

    • getFirst

      default String getFirst(String name)
      Returns the first value associated with the attribute with the given .
      Parameters:
      name - the name of the attribute
      Returns:
      the first value
    • get

      List<String> get(String name)
      Returns all values for an attribute with the given name.
      Parameters:
      name - the name of the attribute
      Returns:
      the attribute values
    • isReadOnly

      boolean isReadOnly(String name)
      Checks whether an attribute is read-only.
      Parameters:
      name - the attribute name
      Returns:
      true if the attribute is read-only. Otherwise, false
    • validate

      boolean validate(String name, Consumer<ValidationError>... listeners)
      Validates the attribute with the given name.
      Parameters:
      name - the name of the attribute
      listeners - the listeners for listening for errors. ValidationError.inputHint contains name of the attribute in error.
      Returns:
      true if validation is successful. Otherwise, false. In case there is no attribute with the given name, false is also returned but without triggering listeners
    • contains

      boolean contains(String name)
      Checks whether an attribute with the given name is defined.
      Parameters:
      name - the name of the attribute
      Returns:
      true if the attribute is defined. Otherwise, false
    • nameSet

      Set<String> nameSet()
      Returns the names of all defined attributes.
      Returns:
      the set of attribute names
    • getWritable

      Map<String,List<String>> getWritable()
      Returns all the attributes with read-write permissions in a particular UserProfileContext.
      Returns:
      the attributes
    • getMetadata

      AttributeMetadata getMetadata(String name)

      Returns the metadata associated with the attribute with the given name.

      The AttributeMetadata is a copy of the original metadata. The original metadata keeps immutable.

      Parameters:
      name - the attribute name
      Returns:
      the metadata
    • isRequired

      boolean isRequired(String name)
      Returns whether the attribute with the given name is required.
      Parameters:
      name - the attribute name
      Returns:
      true if the attribute is required. Otherwise, false.
    • getReadable

      Map<String,List<String>> getReadable()
      Returns only the attributes that have read permissions in a particular UserProfileContext.
      Returns:
      the attributes with read permission.
    • toMap

      Map<String,List<String>> toMap()
      Returns the attributes as a Map that are accessible to a particular UserProfileContext.
      Returns:
      a map with all the attributes
    • getUnmanagedAttributes

      Map<String,List<String>> getUnmanagedAttributes()
      Returns a Map holding any unmanaged attribute.
      Returns:
      a map with any unmanaged attribute