Directory SDK
for Java 4.19

netscape.ldap
Class LDAPSchemaElement

java.lang.Object
  extended bynetscape.ldap.LDAPSchemaElement
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
LDAPAttributeSchema, LDAPDITContentRuleSchema, LDAPDITStructureRuleSchema, LDAPNameFormSchema, LDAPObjectClassSchema, LDAPSyntaxSchema

public abstract class LDAPSchemaElement
extends Object
implements Serializable

Abstract class representing an element (such as an object class definition, an attribute type definition, or a matching rule definition) in the schema. The specific types of elements are represented by the LDAPObjectClassSchema, LDAPAttributeSchema, and LDAPMatchingRuleSchema subclasses.

RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions covers the types of information that need to be specified in the definition of an object class, attribute type, or matching rule. All of these schema elements can specify the following information:

In addition, there are optional standard qualifiers for attribute types (see LDAPAttributeSchema), and implementation-specific qualifiers may be added. Non-standard qualifiers must have names starting with X-, e.g. "X-OWNER 'John Jacobson'". Optional and non-standard qualifiers can be accessed with getQualifier and setQualifier, and enumerated with getQualifierNames.

The LDAPSchemaElement class implements methods that you can use with different types of schema elements (object class definitions, attribute type definitions, and matching rule definitions). You can do the following:

See Also:
LDAPObjectClassSchema, LDAPAttributeSchema, LDAPMatchingRuleSchema, Serialized Form

Field Summary
static int binary
           
static int ces
           
static int cis
           
static int dn
           
static int integer
           
static String OBSOLETE
           
static String SUPERIOR
           
static String SYNTAX
           
static int telephone
           
static int unknown
           
 
Method Summary
 void add(LDAPConnection ld)
          Adds the current object class, attribute type, or matching rule definition to the schema at the root DSE.
 void add(LDAPConnection ld, String dn)
          Adds the current object class, attribute type, or matching rule definition to the schema.
 String[] getAliases()
          Gets the aliases of the attribute, if any
 String getDescription()
          Gets the description of the object class, attribute type, or matching rule.
 String getID()
          Gets the object ID (OID) of the object class, attribute type, or matching rule in dotted-string format (for example, "1.2.3.4").
 String getName()
          Gets the name of the object class, attribute type, or matching rule.
 String getOID()
          Deprecated. Use LDAPSchemaElement.getID()
 String[] getQualifier(String name)
          Gets the value of a qualifier which is not predefined.
 Enumeration getQualifierNames()
          Gets an enumeration of all qualifiers which are not predefined.
 String getValue()
          Formats a String in the format defined in X.501 (see RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions for a description of this format).
 boolean isObsolete()
          Reports if the element is marked as obsolete.
 void modify(LDAPConnection ld, LDAPSchemaElement newValue)
          Replaces a single value of the object class, attribute type, or matching rule definition in the schema at the root DSE.
 void modify(LDAPConnection ld, LDAPSchemaElement newValue, String dn)
          Replaces a single value of the object class, attribute type, or matching rule definition in the schema.
 void remove(LDAPConnection ld)
          Removes the current object class, attribute type, or matching rule definition from the schema at the root DSE.
 void remove(LDAPConnection ld, String dn)
          Removes the current object class, attribute type, or matching rule definition from the schema.
 void setQualifier(String name, String value)
          Keeps track of qualifiers which are not predefined.
 void setQualifier(String name, String[] values)
          Keeps track of qualifiers which are not predefined.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

unknown

public static final int unknown
See Also:
Constant Field Values

cis

public static final int cis
See Also:
Constant Field Values

binary

public static final int binary
See Also:
Constant Field Values

telephone

public static final int telephone
See Also:
Constant Field Values

ces

public static final int ces
See Also:
Constant Field Values

dn

public static final int dn
See Also:
Constant Field Values

integer

public static final int integer
See Also:
Constant Field Values

OBSOLETE

public static final String OBSOLETE
See Also:
Constant Field Values

SUPERIOR

public static final String SUPERIOR
See Also:
Constant Field Values

SYNTAX

public static final String SYNTAX
See Also:
Constant Field Values
Method Detail

getName

public String getName()
Gets the name of the object class, attribute type, or matching rule.

Returns:
the name of the object class, attribute type, or matching rule.

getID

public String getID()
Gets the object ID (OID) of the object class, attribute type, or matching rule in dotted-string format (for example, "1.2.3.4").

Returns:
the OID of the object class, attribute type, or matching rule.

getOID

public String getOID()
Deprecated. Use LDAPSchemaElement.getID()

Gets the object ID (OID) of the object class, attribute type, or matching rule in dotted-string format (for example, "1.2.3.4").

Returns:
the OID of the object class, attribute type, or matching rule.

getDescription

public String getDescription()
Gets the description of the object class, attribute type, or matching rule.

Returns:
the description of the object class, attribute type, or matching rule.

add

public void add(LDAPConnection ld,
                String dn)
         throws LDAPException
Adds the current object class, attribute type, or matching rule definition to the schema. Typically, most servers will require you to authenticate before allowing you to edit the schema.

Parameters:
ld - the LDAPConnection object representing a connection to an LDAP server
dn - the entry at which to add the schema definition
Throws:
LDAPException - if the specified definition cannot be added to the schema

add

public void add(LDAPConnection ld)
         throws LDAPException
Adds the current object class, attribute type, or matching rule definition to the schema at the root DSE. Typically, most servers will require you to authenticate before allowing you to edit the schema.

Parameters:
ld - the LDAPConnection object representing a connection to an LDAP server
Throws:
LDAPException - if the specified definition cannot be added to the schema.

modify

public void modify(LDAPConnection ld,
                   LDAPSchemaElement newValue,
                   String dn)
            throws LDAPException
Replaces a single value of the object class, attribute type, or matching rule definition in the schema. Typically, most servers will require you to authenticate before allowing you to edit the schema.

Parameters:
ld - the LDAPConnection object representing a connection to an LDAP server
newValue - the new value
dn - the entry at which to modify the schema definition
Throws:
LDAPException - if the specified definition cannot be modified.

modify

public void modify(LDAPConnection ld,
                   LDAPSchemaElement newValue)
            throws LDAPException
Replaces a single value of the object class, attribute type, or matching rule definition in the schema at the root DSE. Typically, most servers will require you to authenticate before allowing you to edit the schema.

Parameters:
ld - the LDAPConnection object representing a connection to an LDAP server
newValue - the new value
Throws:
LDAPException - if the specified definition cannot be modified.

remove

public void remove(LDAPConnection ld,
                   String dn)
            throws LDAPException
Removes the current object class, attribute type, or matching rule definition from the schema. Typically, most servers will require you to authenticate before allowing you to edit the schema.

Parameters:
ld - the LDAPConnection object representing a connection to an LDAP server
dn - the entry at which to remove the schema definition
Throws:
LDAPException - if the specified definition cannot be removed from the schema.

remove

public void remove(LDAPConnection ld)
            throws LDAPException
Removes the current object class, attribute type, or matching rule definition from the schema at the root DSE. Typically, most servers will require you to authenticate before allowing you to edit the schema.

Parameters:
ld - the LDAPConnection object representing a connection to an LDAP server
Throws:
LDAPException - if the specified definition cannot be removed from the schema

isObsolete

public boolean isObsolete()
Reports if the element is marked as obsolete.

Returns:
true if the element is defined as obsolete.

getValue

public String getValue()
Formats a String in the format defined in X.501 (see RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions for a description of this format). 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 "attributetypes" attribute are attribute type descriptions in this format.

Returns:
a formatted String for defining a schema element.

setQualifier

public void setQualifier(String name,
                         String value)
Keeps track of qualifiers which are not predefined.

Parameters:
name - name of qualifier
value - value of qualifier. "" for no value, null to remove the qualifier

setQualifier

public void setQualifier(String name,
                         String[] values)
Keeps track of qualifiers which are not predefined.

Parameters:
name - name of qualifier
values - array of values

getQualifier

public String[] getQualifier(String name)
Gets the value of a qualifier which is not predefined.

Parameters:
name - name of qualifier
Returns:
value or values of qualifier; null if not present, a zero-length array if present but with no value.

getQualifierNames

public Enumeration getQualifierNames()
Gets an enumeration of all qualifiers which are not predefined.

Returns:
enumeration of qualifiers.

getAliases

public String[] getAliases()
Gets the aliases of the attribute, if any

Returns:
the aliases of the attribute, or null if it does not have any aliases

Directory SDK
for Java 4.19

Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.