Package netscape.ldap

Class LDAPAttributeSchema

java.lang.Object
netscape.ldap.LDAPSchemaElement
netscape.ldap.LDAPAttributeSchema
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
LDAPMatchingRuleSchema, LDAPMatchingRuleUseSchema

public class LDAPAttributeSchema extends LDAPSchemaElement
The definition of an attribute type in the schema. RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions covers the types of information to specify when defining an attribute type. According to the RFC, the description of an attribute type can include the following:

  • an OID identifying the attribute type
  • a name identifying the attribute type
  • a description of the attribute type
  • the name of the parent attribute type
  • the syntax used by the attribute (for example, cis or int)
  • an indication of whether the attribute type is single-valued or multi-valued

When you construct an LDAPAttributeSchema object, you can specify these types of information as arguments to the constructor or in the AttributeTypeDescription format specified in RFC 2252. When an LDAP client searches an LDAP server for the schema, the server returns schema information as an object with attribute values in this format.

There a number of additional optional description fields which are not explicitly accessible through LDAPAttributeSchema, but which can be managed with setQualifier, getQualifier, and getQualifierNames:

  • EQUALITY
  • ORDERING
  • SUBSTR
  • COLLECTIVE
  • NO-USER-MODIFICATION
  • USAGE
  • OBSOLETE

To get the name, OID, and description of this attribute type definition, use the getName, getOID, and getDescription methods inherited from the abstract class LDAPSchemaElement. Optional and custom qualifiers are accessed with getQualifier and getQualifierNames from LDAPSchemaElement.

To add or remove this attribute type definition from the schema, use the add and remove methods, which this class inherits from the LDAPSchemaElement abstract class.

RFC 2252 defines AttributeTypeDescription as follows:

     AttributeTypeDescription = "(" whsp
          numericoid whsp              ; AttributeType identifier
        [ "NAME" qdescrs ]             ; name used in AttributeType
        [ "DESC" qdstring ]            ; description
        [ "OBSOLETE" whsp ]
        [ "SUP" woid ]                 ; derived from this other
                                       ; AttributeType
        [ "EQUALITY" woid              ; Matching Rule name
        [ "ORDERING" woid              ; Matching Rule name
        [ "SUBSTR" woid ]              ; Matching Rule name
        [ "SYNTAX" whsp noidlen whsp ] ; see section 4.3
        [ "SINGLE-VALUE" whsp ]        ; default multi-valued
        [ "COLLECTIVE" whsp ]          ; default not collective
        [ "NO-USER-MODIFICATION" whsp ]; default user modifiable
        [ "USAGE" whsp AttributeUsage ]; default userApplications
        whsp ")"

    AttributeUsage =
        "userApplications"     /
        "directoryOperation"   /
        "distributedOperation" / ; DSA-shared
        "dSAOperation"          ; DSA-specific, value depends on server
 
Version:
1.0
See Also: