com.unboundid.ldap.sdk.migrate.ldapjdk
Class LDAPAttribute

java.lang.Object
  extended by com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPAttribute
All Implemented Interfaces:
java.io.Serializable

@NotExtensible
@Mutable
@ThreadSafety(level=NOT_THREADSAFE)
public class LDAPAttribute
extends java.lang.Object
implements java.io.Serializable

This class provides a data structure that holds information about an LDAP attribute, including an attribute description (a base name or OID and optional set of options) and zero or more values.

This class is primarily intended to be used in the process of updating applications which use the Netscape Directory SDK for Java to switch to or coexist with the UnboundID LDAP SDK for Java. For applications not written using the Netscape Directory SDK for Java, the Attribute class should be used instead.

See Also:
Serialized Form

Constructor Summary
LDAPAttribute(Attribute attr)
          Creates a new LDAP attribute from the provided Attribute object.
LDAPAttribute(LDAPAttribute attr)
          Creates a new LDAP attribute that is a duplicate of the provided attribute.
LDAPAttribute(java.lang.String attrName)
          Creates a new LDAP attribute with the specified name and no values.
LDAPAttribute(java.lang.String attrName, byte[] attrBytes)
          Creates a new LDAP attribute with the specified name and value.
LDAPAttribute(java.lang.String attrName, java.lang.String attrString)
          Creates a new LDAP attribute with the specified name and value.
LDAPAttribute(java.lang.String attrName, java.lang.String[] attrStrings)
          Creates a new LDAP attribute with the specified name and values.
 
Method Summary
 void addValue(byte[] attrBytes)
          Adds the provided value to the set of values for this attribute.
 void addValue(java.lang.String attrString)
          Adds the provided value to the set of values for this attribute.
 java.lang.String getBaseName()
          Retrieves the base name for this attribute, without any options.
static java.lang.String getBaseName(java.lang.String attrName)
          Retrieves the base name for the attribute with the provided name.
 byte[][] getByteValueArray()
          Retrieves an array of the values for this attribute.
 java.util.Enumeration<byte[]> getByteValues()
          Retrieves an enumeration over the binary values for this attribute.
 java.lang.String getLangSubtype()
          Retrieves the language subtype (i.e., the attribute option which begins with "lang-") for this attribute, if present.
 java.lang.String getName()
          Retrieves the name for this attribute.
 java.lang.String[] getStringValueArray()
          Retrieves an array of the values for this attribute.
 java.util.Enumeration<java.lang.String> getStringValues()
          Retrieves an enumeration over the string values for this attribute.
 java.lang.String[] getSubtypes()
          Retrieves the subtypes (i.e., attribute options) contained in the name for this attribute.
static java.lang.String[] getSubtypes(java.lang.String attrName)
          Retrieves the subtypes (i.e., attribute options) contained in the provided attribute name.
 boolean hasSubtype(java.lang.String subtype)
          Indicates whether this attribute contains the specified subtype.
 boolean hasSubtypes(java.lang.String[] subtypes)
          Indicates whether this attribute contains all of the specified subtypes.
 void removeValue(byte[] attrValue)
          Removes the provided value from this attribute.
 void removeValue(java.lang.String attrValue)
          Removes the provided value from this attribute.
 int size()
          Retrieves the number of values for this attribute.
 Attribute toAttribute()
          Converts this LDAP attribute to an Attribute object.
 java.lang.String toString()
          Retrieves a string representation of this LDAP attribute.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LDAPAttribute

public LDAPAttribute(Attribute attr)
Creates a new LDAP attribute from the provided Attribute object.

Parameters:
attr - The LDAP attribute to use to create this attribute.

LDAPAttribute

public LDAPAttribute(LDAPAttribute attr)
Creates a new LDAP attribute that is a duplicate of the provided attribute.

Parameters:
attr - The LDAP attribute to use to create this attribute.

LDAPAttribute

public LDAPAttribute(java.lang.String attrName)
Creates a new LDAP attribute with the specified name and no values.

Parameters:
attrName - The name for this attribute.

LDAPAttribute

public LDAPAttribute(java.lang.String attrName,
                     byte[] attrBytes)
Creates a new LDAP attribute with the specified name and value.

Parameters:
attrName - The name for this attribute.
attrBytes - The value for this attribute.

LDAPAttribute

public LDAPAttribute(java.lang.String attrName,
                     java.lang.String attrString)
Creates a new LDAP attribute with the specified name and value.

Parameters:
attrName - The name for this attribute.
attrString - The value for this attribute.

LDAPAttribute

public LDAPAttribute(java.lang.String attrName,
                     java.lang.String[] attrStrings)
Creates a new LDAP attribute with the specified name and values.

Parameters:
attrName - The name for this attribute.
attrStrings - The values for this attribute.
Method Detail

getName

public java.lang.String getName()
Retrieves the name for this attribute.

Returns:
The name for this attribute.

getBaseName

public java.lang.String getBaseName()
Retrieves the base name for this attribute, without any options.

Returns:
The base name for this attribute.

getBaseName

public static java.lang.String getBaseName(java.lang.String attrName)
Retrieves the base name for the attribute with the provided name.

Parameters:
attrName - The attribute name for which to retrieve the base name.
Returns:
The base name for the attribute with the provided name.

getSubtypes

public java.lang.String[] getSubtypes()
Retrieves the subtypes (i.e., attribute options) contained in the name for this attribute.

Returns:
The subtypes contained in the name for this attribute, or null if there are none.

getSubtypes

public static java.lang.String[] getSubtypes(java.lang.String attrName)
Retrieves the subtypes (i.e., attribute options) contained in the provided attribute name.

Parameters:
attrName - The attribute name from which to extract the subtypes.
Returns:
The subtypes contained in the provided attribute name, or null if there are none.

getLangSubtype

public java.lang.String getLangSubtype()
Retrieves the language subtype (i.e., the attribute option which begins with "lang-") for this attribute, if present.

Returns:
The language subtype for this attribute, or null if there is none.

hasSubtype

public boolean hasSubtype(java.lang.String subtype)
Indicates whether this attribute contains the specified subtype.

Parameters:
subtype - The subtype for which to make the determination.
Returns:
true if this option has the specified subtype, or false if not.

hasSubtypes

public boolean hasSubtypes(java.lang.String[] subtypes)
Indicates whether this attribute contains all of the specified subtypes.

Parameters:
subtypes - The subtypes for which to make the determination.
Returns:
true if this option has all of the specified subtypes, or false if not.

getStringValues

public java.util.Enumeration<java.lang.String> getStringValues()
Retrieves an enumeration over the string values for this attribute.

Returns:
An enumeration over the string values for this attribute.

getStringValueArray

public java.lang.String[] getStringValueArray()
Retrieves an array of the values for this attribute.

Returns:
An array of the values for this attribute.

getByteValues

public java.util.Enumeration<byte[]> getByteValues()
Retrieves an enumeration over the binary values for this attribute.

Returns:
An enumeration over the binary values for this attribute.

getByteValueArray

public byte[][] getByteValueArray()
Retrieves an array of the values for this attribute.

Returns:
An array of the values for this attribute.

addValue

public void addValue(java.lang.String attrString)
Adds the provided value to the set of values for this attribute.

Parameters:
attrString - The value to add to this attribute.

addValue

public void addValue(byte[] attrBytes)
Adds the provided value to the set of values for this attribute.

Parameters:
attrBytes - The value to add to this attribute.

removeValue

public void removeValue(java.lang.String attrValue)
Removes the provided value from this attribute.

Parameters:
attrValue - The value to remove.

removeValue

public void removeValue(byte[] attrValue)
Removes the provided value from this attribute.

Parameters:
attrValue - The value to remove.

size

public int size()
Retrieves the number of values for this attribute.

Returns:
The number of values for this attribute.

toAttribute

public final Attribute toAttribute()
Converts this LDAP attribute to an Attribute object.

Returns:
The Attribute object which corresponds to this LDAP attribute.

toString

public java.lang.String toString()
Retrieves a string representation of this LDAP attribute.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this LDAP attribute.