com.unboundid.ldap.sdk.schema
Class NameFormDefinition

java.lang.Object
  extended by com.unboundid.ldap.sdk.schema.SchemaElement
      extended by com.unboundid.ldap.sdk.schema.NameFormDefinition
All Implemented Interfaces:
java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class NameFormDefinition
extends SchemaElement

This class provides a data structure that describes an LDAP name form schema element.

See Also:
Serialized Form

Constructor Summary
NameFormDefinition(java.lang.String s)
          Creates a new name form from the provided string representation.
NameFormDefinition(java.lang.String oid, java.lang.String[] names, java.lang.String description, boolean isObsolete, java.lang.String structuralClass, java.lang.String[] requiredAttributes, java.lang.String[] optionalAttributes, java.util.Map<java.lang.String,java.lang.String[]> extensions)
          Creates a new name form with the provided information.
 
Method Summary
 boolean equals(java.lang.Object o)
          Indicates whether the provided object is equal to this schema element.
 java.lang.String getDescription()
          Retrieves the description for this name form, if available.
 java.util.Map<java.lang.String,java.lang.String[]> getExtensions()
          Retrieves the set of extensions for this name form.
 java.lang.String getNameOrOID()
          Retrieves the primary name that can be used to reference this name form.
 java.lang.String[] getNames()
          Retrieves the set of names for this name form.
 java.lang.String getOID()
          Retrieves the OID for this name form.
 java.lang.String[] getOptionalAttributes()
          Retrieves the names or OIDs of the attributes that may optionally be present in the RDN of entries with the associated structural object class.
 java.lang.String[] getRequiredAttributes()
          Retrieves the names or OIDs of the attributes that are required to be present in the RDN of entries with the associated structural object class.
 java.lang.String getStructuralClass()
          Retrieves the name or OID of the structural object class associated with this name form.
 int hashCode()
          Retrieves a hash code for this schema element.
 boolean hasNameOrOID(java.lang.String s)
          Indicates whether the provided string matches the OID or any of the names for this name form.
 boolean isObsolete()
          Indicates whether this name form is declared obsolete.
 java.lang.String toString()
          Retrieves a string representation of this name form definition, in the format described in RFC 4512 section 4.1.7.2.
 
Methods inherited from class com.unboundid.ldap.sdk.schema.SchemaElement
extensionsEqual
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NameFormDefinition

public NameFormDefinition(java.lang.String s)
                   throws LDAPException
Creates a new name form from the provided string representation.

Parameters:
s - The string representation of the name form to create, using the syntax described in RFC 4512 section 4.1.7.2. It must not be null.
Throws:
LDAPException - If the provided string cannot be decoded as a name form definition.

NameFormDefinition

public NameFormDefinition(java.lang.String oid,
                          java.lang.String[] names,
                          java.lang.String description,
                          boolean isObsolete,
                          java.lang.String structuralClass,
                          java.lang.String[] requiredAttributes,
                          java.lang.String[] optionalAttributes,
                          java.util.Map<java.lang.String,java.lang.String[]> extensions)
Creates a new name form with the provided information.

Parameters:
oid - The OID for this name form. It must not be null.
names - The set of names for this name form. It may be null or empty if the name form should only be referenced by OID.
description - The description for this name form. It may be null if there is no description.
isObsolete - Indicates whether this name form is declared obsolete.
structuralClass - The name or OID of the structural object class with which this name form is associated. It must not be null.
requiredAttributes - The names/OIDs of the attributes which must be present the RDN for entries with the associated structural class. It must not be null or empty.
optionalAttributes - The names/OIDs of the attributes which may optionally be present in the RDN for entries with the associated structural class. It may be null or empty
extensions - The set of extensions for this name form. It may be null or empty if there should not be any extensions.
Method Detail

getOID

public java.lang.String getOID()
Retrieves the OID for this name form.

Returns:
The OID for this name form.

getNames

public java.lang.String[] getNames()
Retrieves the set of names for this name form.

Returns:
The set of names for this name form, or an empty array if it does not have any names.

getNameOrOID

public java.lang.String getNameOrOID()
Retrieves the primary name that can be used to reference this name form. If one or more names are defined, then the first name will be used. Otherwise, the OID will be returned.

Returns:
The primary name that can be used to reference this name form.

hasNameOrOID

public boolean hasNameOrOID(java.lang.String s)
Indicates whether the provided string matches the OID or any of the names for this name form.

Parameters:
s - The string for which to make the determination. It must not be null.
Returns:
true if the provided string matches the OID or any of the names for this name form, or false if not.

getDescription

public java.lang.String getDescription()
Retrieves the description for this name form, if available.

Returns:
The description for this name form, or null if there is no description defined.

isObsolete

public boolean isObsolete()
Indicates whether this name form is declared obsolete.

Returns:
true if this name form is declared obsolete, or false if it is not.

getStructuralClass

public java.lang.String getStructuralClass()
Retrieves the name or OID of the structural object class associated with this name form.

Returns:
The name or OID of the structural object class associated with this name form.

getRequiredAttributes

public java.lang.String[] getRequiredAttributes()
Retrieves the names or OIDs of the attributes that are required to be present in the RDN of entries with the associated structural object class.

Returns:
The names or OIDs of the attributes that are required to be present in the RDN of entries with the associated structural object class.

getOptionalAttributes

public java.lang.String[] getOptionalAttributes()
Retrieves the names or OIDs of the attributes that may optionally be present in the RDN of entries with the associated structural object class.

Returns:
The names or OIDs of the attributes that may optionally be present in the RDN of entries with the associated structural object class, or an empty array if there are no optional attributes.

getExtensions

public java.util.Map<java.lang.String,java.lang.String[]> getExtensions()
Retrieves the set of extensions for this name form. They will be mapped from the extension name (which should start with "X-") to the set of values for that extension.

Returns:
The set of extensions for this name form.

hashCode

public int hashCode()
Retrieves a hash code for this schema element.

Specified by:
hashCode in class SchemaElement
Returns:
A hash code for this schema element.

equals

public boolean equals(java.lang.Object o)
Indicates whether the provided object is equal to this schema element.

Specified by:
equals in class SchemaElement
Parameters:
o - The object for which to make the determination.
Returns:
true if the provided object may be considered equal to this schema element, or false if not.

toString

public java.lang.String toString()
Retrieves a string representation of this name form definition, in the format described in RFC 4512 section 4.1.7.2.

Specified by:
toString in class SchemaElement
Returns:
A string representation of this name form definition.