Attribute types in the directory server do not require any custom logic (beyond that already provided by the associated attribute syntax and matching rules). The attribute type description provides all the information that the directory server needs to define an attribute type. As such, all of the attribute types for use in the directory server should be specified in the schema configuration files. These files exist in the resource/schema directory in the source repository, and they are put in config/schema in the actual directory server instance. The directory server treats these files in much the same way as they are handled in the Sun Java System directory server.
All attribute type objects are instances of the org.opends.server.types.AttributeType class. This class primarily serves as a simple data structure that contains all of the properties of the attribute type description as specified in Attribute Type Description Format. Attribute type objects can be retrieved from the directory server schema using their OIDs or any of their human-readable names.
At the present time, the mechanism used to handle attribute types varies from the LDAPv3 specification in the following ways:
The LDAPv3 specification states that a subordinate attribute type must have the same syntax as the superior type, or a refinement of that syntax. The directory server does not enforce this constraint because it does not have any way to determine whether one attribute syntax is a refinement of the syntax of the supertype.
The directory server does not yet include support for collective attributes.
The synchronization subsystem does not take attribute usage into account (for example, so that attribute types with a usage of dSAOperation are not synchronized).