Class LDAPSchemaElement
- java.lang.Object
-
- netscape.ldap.LDAPSchemaElement
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
LDAPAttributeSchema,LDAPDITContentRuleSchema,LDAPDITStructureRuleSchema,LDAPNameFormSchema,LDAPObjectClassSchema,LDAPSyntaxSchema
public abstract class LDAPSchemaElement extends java.lang.Object implements java.io.SerializableAbstract 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 theLDAPObjectClassSchema,LDAPAttributeSchema, andLDAPMatchingRuleSchemasubclasses.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:
- a name identifying the element
- an OID identifying the element
- a description of the element
- a qualifier "OBSOLETE"
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
getQualifierandsetQualifier, and enumerated withgetQualifierNames.The
LDAPSchemaElementclass 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:- get the name of a schema element
- get the OID of a schema element
- get the description of a schema element
- add an element to the schema
- remove an element from the schema
- Version:
- 1.0
- See Also:
LDAPObjectClassSchema,LDAPAttributeSchema,LDAPMatchingRuleSchema, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String[]aliasesprotected java.lang.StringattrNamestatic intbinaryprotected static java.lang.StringbinaryStringstatic intcesprotected static java.lang.StringcesStringstatic intcisprotected static java.lang.StringcisStringprotected java.lang.Stringdescriptionstatic intdnprotected static java.lang.StringdnStringstatic intintegerprotected static java.lang.StringintStringprotected java.lang.Stringnameprotected static java.util.Hashtable<java.lang.String,java.lang.String>novalsTablestatic java.lang.StringOBSOLETEprotected java.lang.Stringoidprotected java.util.Hashtable<java.lang.String,java.lang.Object>propertiesprotected java.lang.StringrawValuestatic java.lang.StringSUPERIORstatic java.lang.StringSYNTAXstatic inttelephoneprotected static java.lang.StringtelephoneStringstatic intunknown
-
Constructor Summary
Constructors Modifier Constructor Description protectedLDAPSchemaElement()Constructs a blank element.protectedLDAPSchemaElement(java.lang.String name, java.lang.String oid, java.lang.String description)Constructs a definition explicitly.protectedLDAPSchemaElement(java.lang.String name, java.lang.String oid, java.lang.String description, java.lang.String[] aliases)Constructs a definition explicitly.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidadd(LDAPConnection ld)Adds the current object class, attribute type, or matching rule definition to the schema at the root DSE.voidadd(LDAPConnection ld, java.lang.String dn)Adds the current object class, attribute type, or matching rule definition to the schema.java.lang.String[]getAliases()Gets the aliases of the attribute, if anyprotected java.lang.StringgetCustomValues()Gets any qualifiers marked as custom (starting with "X-")java.lang.StringgetDescription()Gets the description of the object class, attribute type, or matching rule.java.lang.StringgetID()Gets the object ID (OID) of the object class, attribute type, or matching rule in dotted-string format (for example, "1.2.3.4").java.lang.StringgetName()Gets the name of the object class, attribute type, or matching rule.java.lang.StringgetOID()Deprecated.UseLDAPSchemaElement.getID()protected java.lang.StringgetOptionalValues(java.lang.String[] names)Gets qualifiers which may or may not be presentjava.lang.String[]getQualifier(java.lang.String name)Gets the value of a qualifier which is not predefined.java.util.Enumeration<java.lang.String>getQualifierNames()Gets an enumeration of all qualifiers which are not predefined.java.lang.StringgetValue()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).booleanisObsolete()Reports if the element is marked as obsolete.voidmodify(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.voidmodify(LDAPConnection ld, LDAPSchemaElement newValue, java.lang.String dn)Replaces a single value of the object class, attribute type, or matching rule definition in the schema.protected voidparseValue(java.lang.String raw)Parses a raw schema value into OID, name, description, and a Hashtable of other qualifiers and values.voidremove(LDAPConnection ld)Removes the current object class, attribute type, or matching rule definition from the schema at the root DSE.voidremove(LDAPConnection ld, java.lang.String dn)Removes the current object class, attribute type, or matching rule definition from the schema.voidsetQualifier(java.lang.String name, java.lang.String value)Keeps track of qualifiers which are not predefined.voidsetQualifier(java.lang.String name, java.lang.String[] values)Keeps track of qualifiers which are not predefined.protected voidupdate(LDAPConnection ld, int op, java.lang.String name, java.lang.String dn)Adds, removes or modifies the definition from a Directory.protected voidupdate(LDAPConnection ld, int op, LDAPAttribute[] attrs, java.lang.String dn)Adds, removes or modifies the definition from a Directory.protected voidupdate(LDAPConnection ld, int op, LDAPAttribute attr, java.lang.String dn)Adds, removes or modifies the definition from a Directory.
-
-
-
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
-
cisString
protected static final java.lang.String cisString
- See Also:
- Constant Field Values
-
binaryString
protected static final java.lang.String binaryString
- See Also:
- Constant Field Values
-
telephoneString
protected static final java.lang.String telephoneString
- See Also:
- Constant Field Values
-
cesString
protected static final java.lang.String cesString
- See Also:
- Constant Field Values
-
intString
protected static final java.lang.String intString
- See Also:
- Constant Field Values
-
dnString
protected static final java.lang.String dnString
- See Also:
- Constant Field Values
-
OBSOLETE
public static final java.lang.String OBSOLETE
- See Also:
- Constant Field Values
-
SUPERIOR
public static final java.lang.String SUPERIOR
- See Also:
- Constant Field Values
-
SYNTAX
public static final java.lang.String SYNTAX
- See Also:
- Constant Field Values
-
oid
protected java.lang.String oid
-
name
protected java.lang.String name
-
description
protected java.lang.String description
-
attrName
protected java.lang.String attrName
-
rawValue
protected java.lang.String rawValue
-
aliases
protected java.lang.String[] aliases
-
properties
protected java.util.Hashtable<java.lang.String,java.lang.Object> properties
-
novalsTable
protected static java.util.Hashtable<java.lang.String,java.lang.String> novalsTable
-
-
Constructor Detail
-
LDAPSchemaElement
protected LDAPSchemaElement()
Constructs a blank element.
-
LDAPSchemaElement
protected LDAPSchemaElement(java.lang.String name, java.lang.String oid, java.lang.String description)Constructs a definition explicitly.- Parameters:
name- name of elementoid- dotted-string object identifierdescription- description of element
-
LDAPSchemaElement
protected LDAPSchemaElement(java.lang.String name, java.lang.String oid, java.lang.String description, java.lang.String[] aliases)Constructs a definition explicitly.- Parameters:
name- name of elementoid- dotted-string object identifierdescription- description of elementaliases- names which are to be considered aliases for this element;nullif there are no aliases
-
-
Method Detail
-
getName
public java.lang.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 java.lang.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
@Deprecated public java.lang.String getOID()
Deprecated.UseLDAPSchemaElement.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 java.lang.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.
-
update
protected void update(LDAPConnection ld, int op, LDAPAttribute attr, java.lang.String dn) throws LDAPException
Adds, removes or modifies the definition from a Directory.- Parameters:
ld- an open connection to a Directory Server. Typically the connection must have been authenticated to add a definition.op- type of modification to makeattr- attribute in the schema entry to modify- Throws:
LDAPException- if the definition can't be added/removed
-
update
protected void update(LDAPConnection ld, int op, LDAPAttribute[] attrs, java.lang.String dn) throws LDAPException
Adds, removes or modifies the definition from a Directory.- Parameters:
ld- an open connection to a Directory Server. Typically the connection must have been authenticated to add a definition.op- type of modification to makeattrs- attributes in the schema entry to modify- Throws:
LDAPException- if the definition can't be added/removed.
-
update
protected void update(LDAPConnection ld, int op, java.lang.String name, java.lang.String dn) throws LDAPException
Adds, removes or modifies the definition from a Directory.- Parameters:
ld- an open connection to a Directory Server. Typically the connection must have been authenticated to add a definition.op- type of modification to makename- name of attribute in the schema entry to modify- Throws:
LDAPException- if the definition can't be added/removed
-
add
public void add(LDAPConnection ld, java.lang.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- theLDAPConnectionobject representing a connection to an LDAP serverdn- 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- theLDAPConnectionobject 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, java.lang.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- theLDAPConnectionobject representing a connection to an LDAP servernewValue- the new valuedn- 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- theLDAPConnectionobject representing a connection to an LDAP servernewValue- the new value- Throws:
LDAPException- if the specified definition cannot be modified.
-
remove
public void remove(LDAPConnection ld, java.lang.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- theLDAPConnectionobject representing a connection to an LDAP serverdn- 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- theLDAPConnectionobject 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:
trueif the element is defined as obsolete.
-
parseValue
protected void parseValue(java.lang.String raw)
Parses a raw schema value into OID, name, description, and a Hashtable of other qualifiers and values.- Parameters:
raw- a raw schema definition
-
getValue
public java.lang.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.
-
getOptionalValues
protected java.lang.String getOptionalValues(java.lang.String[] names)
Gets qualifiers which may or may not be present- Parameters:
names- list of qualifiers to look up- Returns:
- String in RFC 2252 format containing any values found, not terminated with ' '.
-
getCustomValues
protected java.lang.String getCustomValues()
Gets any qualifiers marked as custom (starting with "X-")- Returns:
- string in RFC 2252 format, without a terminating ' '.
-
setQualifier
public void setQualifier(java.lang.String name, java.lang.String value)Keeps track of qualifiers which are not predefined.- Parameters:
name- name of qualifiervalue- value of qualifier. "" for no value,nullto remove the qualifier
-
setQualifier
public void setQualifier(java.lang.String name, java.lang.String[] values)Keeps track of qualifiers which are not predefined.- Parameters:
name- name of qualifiervalues- array of values
-
getQualifier
public java.lang.String[] getQualifier(java.lang.String name)
Gets the value of a qualifier which is not predefined.- Parameters:
name- name of qualifier- Returns:
- value or values of qualifier;
nullif not present, a zero-length array if present but with no value.
-
getQualifierNames
public java.util.Enumeration<java.lang.String> getQualifierNames()
Gets an enumeration of all qualifiers which are not predefined.- Returns:
- enumeration of qualifiers.
-
getAliases
public java.lang.String[] getAliases()
Gets the aliases of the attribute, if any- Returns:
- the aliases of the attribute, or
nullif it does not have any aliases
-
-