On the SPI level IdentityObject can be associated with several IdentityObjectAttribute objects. IdentityObjectAttribute is described by IdentityObjectAttributeMetaData object that contains its properties such as:
name - attribute name
readonly - if attribute values can be changed
multivalued - if attribute can have many values
required - if attribute can be removed
type - type of attribute values.
IdentityObjectAttribute types supported by default implementations are the same as in the API level:
text - java.lang.String object
binary - byte[] object
All operations related to IdentityObjectAttribute are exposed by the AttributeStore interface