4.2.1.1 - AttributeTypes
The AttributeType SchemaObject exposes extra parameters. Here is the description as found in RFC 4512 :
4.1.2. Attribute Types
Attribute Type definitions are written according to the ABNF:
AttributeTypeDescription = LPAREN WSP
numericoid ; object identifier
[ SP "NAME" SP qdescrs ] ; short names (descriptors)
[ SP "DESC" SP qdstring ] ; description
[ SP "OBSOLETE" ] ; not active
[ SP "SUP" SP oid ] ; supertype
[ SP "EQUALITY" SP oid ] ; equality matching rule
[ SP "ORDERING" SP oid ] ; ordering matching rule
[ SP "SUBSTR" SP oid ] ; substrings matching rule
[ SP "SYNTAX" SP noidlen ] ; value syntax
[ SP "SINGLE-VALUE" ] ; single-value
[ SP "COLLECTIVE" ] ; collective
[ SP "NO-USER-MODIFICATION" ] ; not user modifiable
[ SP "USAGE" SP usage ] ; usage
extensions WSP RPAREN ; extensions
usage = "userApplications" / ; user
"directoryOperation" / ; directory operational
"distributedOperation" / ; DSA-shared operational
"dSAOperation" ; DSA-specific operational
The follwing methods have been added to cover ones not already present within the SchemaObject interface :
- getEquality() : returns the MatchingRule instance used to control the equality of the AttributeType
- getEqualityName() : returns the name of the EQUALITY MatchingRule.
- getEqualityOid() : returns the OID of the EQUALITY MatchingRule.
- getOrdering() : returns the MatchingRule instance used to control the ordering of the AttributeType*
- getOrderingName() : returns the name of the ORDERING MatchingRule.
- getOrderingOid() : returns the OID of the ORDERING MatchingRule.
- getSubstring() : returns the MatchingRule instance used to match a substring from the AttributeType
- getSubstringName() : returns the name of the SUBSTR MatchingRule.
- getSubstringOid() : returns the OID of the SUBSTR MatchingRule.
- getSuperior() : returns the AttributeType instance that this instance inherits from
- getSuperiorName() : returns the superior AttributeType‘s name
- getSuperiorOid() : returns the superior AttributeType‘s OID
- getSyntax() : returns the associated LdapSyntax instance (or the parent’s AttributeType‘s one)
- getSyntaxLength() : returns the maximum length for the AttributeType value
- getSyntaxName() : returns the associated LdapSyntax instance’s name
- getSyntaxOid() : returns the associated LdapSyntax instance’s OID
- getUsage() : returns the usage (one of (USER_APPLICATIONS, DIRECTORY_OPERATION, DISTRIBUTED_OPERATION and DSA_OPERATION)
- isAncestorOf(AttributeType) : tells if the AttributeType is the superior of another one
- isCollective() : tells if the AttributeType is a collective attribute
- isDescendantOf(AttributeType)
- isOperational() : tells if the AttributeType is an operational attribute (one of DIRECTORY_OPERATION, DISTRIBUTED_OPERATION and DSA_OPERATION)
- isSingleValued() : tells if the AttributeType only accept single values
- isUser() : tells if the AttributeType is a USER_APPLICATIONS attribute
- isUserModifiable() : tells if the AttributeType is modifiable or not
What is important to know is that an AttributeType may inherit some characteristics from a SUP AttributeType. For example, the Syntax, MatchingRules, etc. In any case, if you don’t define the specific characteristics for a given AttributeType, they’ll be inherited from its parent – if there is one.