Package netscape.ldap

Class LDAPNameFormSchema

  • All Implemented Interfaces:
    java.io.Serializable

    public class LDAPNameFormSchema
    extends LDAPSchemaElement
    The definition of a name form in the schema. RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions covers the types of information that need to be specified in the definition of a name form. According to the RFC, the description of a name form can include the following information:

    • an OID identifying the name form
    • a name identifying the name form
    • a description of the name form
    • the structural object class of this name form
    • the list of attribute types that are required in this name form
    • the list of attribute types that are allowed (optional) in this name form

    When you construct an LDAPNameFormSchema object, you can specify these types of information as arguments to the constructor or in the NameFormDescription 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.

    You can get the name, OID, and description of this name form definition by using 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 name form definition from the schema, use the add and remove methods, which this class inherits from the LDAPSchemaElement abstract class.

    RFC 2252 defines NameFormDescription as follows:

        NameFormDescription = "(" whsp
            numericoid whsp      ; NameForm identifier
            [ "NAME" qdescrs ]
            [ "DESC" qdstring ]
            [ "OBSOLETE" whsp ]
            "OC" woid            ; Structural ObjectClass
            [ "MUST" oids ]      ; AttributeTypes
            [ "MAY" oids ]       ; AttributeTypes
        whsp ")"
     
    Version:
    1.0
    See Also:
    LDAPSchemaElement, Serialized Form
    • Constructor Detail

      • LDAPNameFormSchema

        public LDAPNameFormSchema​(java.lang.String name,
                                  java.lang.String oid,
                                  java.lang.String description,
                                  boolean obsolete,
                                  java.lang.String objectClass,
                                  java.lang.String[] required,
                                  java.lang.String[] optional)
        Constructs a name form definition, using the specified information.
        Parameters:
        name - name of the name form
        oid - object identifier (OID) of the name form in dotted-string format (for example, "1.2.3.4")
        description - description of the name form
        obsolete - true if the rule is obsolete
        objectClass - the object to which this name form applies. This may either be specified by name or numeric oid.
        required - array of names of attributes required in this name form
        optional - array of names of optional attributes allowed in this name form
      • LDAPNameFormSchema

        public LDAPNameFormSchema​(java.lang.String raw)
        Constructs a name form definition based on a description in the NameFormDescription format. For information on this format, (see RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions. This is the format that LDAP servers and clients use to exchange schema information. (For example, when you search an LDAP server for its schema, the server returns an entry with the attributes "objectclasses" and "attributetypes". The values of the "objectclasses" attribute are name form descriptions in this format.)

        Parameters:
        raw - definition of the object in the NameFormDescription format
    • Method Detail

      • getRequiredNamingAttributes

        public java.lang.String[] getRequiredNamingAttributes()
        Gets the names of the required attributes for this name form.
        Returns:
        the names of the required attributes for this name form.
      • getOptionalNamingAttributes

        public java.lang.String[] getOptionalNamingAttributes()
        Gets the names of optional attributes allowed in this name form.
        Returns:
        the names of optional attributes allowed in this name form.
      • getObjectClass

        public java.lang.String getObjectClass()
        Returns the name of the object class that this name form applies to.
        Returns:
        the name of the object class that this name form applies to.
      • toString

        public java.lang.String toString()
        Gets the definition of the name form in a user friendly format. This is the format that the name form definition uses when you print the name form or the schema.
        Overrides:
        toString in class java.lang.Object
        Returns:
        definition of the name form in a user friendly format.
      • vectorToList

        protected java.lang.String vectorToList​(java.util.Vector vals)
        Creates a list within parentheses, with $ as delimiter
        Parameters:
        vals - values for list
        Returns:
        a String with a list of values.