javax.naming.directory
Class BasicAttributes

java.lang.Object
  extended by javax.naming.directory.BasicAttributes
All Implemented Interfaces:
Serializable, Cloneable, Attributes

public class BasicAttributes
extends Object
implements Attributes

See Also:
Serialized Form

Constructor Summary
BasicAttributes()
           
BasicAttributes(boolean ignoreCase)
           
BasicAttributes(String attrID, Object val)
           
BasicAttributes(String attrID, Object val, boolean ignoreCase)
           
 
Method Summary
 Object clone()
          This method may be called to create a new copy of the Object.
 boolean equals(Object obj)
          Returns true if and only if the given Object is an instance of Attributes, the given attributes both do or don't ignore case for IDs and the collection of attributes is the same.
 Attribute get(String attrID)
           
 NamingEnumeration<Attribute> getAll()
           
 NamingEnumeration<String> getIDs()
           
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
 boolean isCaseIgnored()
           
 Attribute put(Attribute attr)
           
 Attribute put(String attrID, Object val)
           
 Attribute remove(String attrID)
           
 int size()
           
 String toString()
          Convert this Object to a human-readable String.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicAttributes

public BasicAttributes()

BasicAttributes

public BasicAttributes(boolean ignoreCase)

BasicAttributes

public BasicAttributes(String attrID,
                       Object val)

BasicAttributes

public BasicAttributes(String attrID,
                       Object val,
                       boolean ignoreCase)
Method Detail

clone

public Object clone()
Description copied from class: Object
This method may be called to create a new copy of the Object. The typical behavior is as follows:

However, these are not strict requirements, and may be violated if necessary. Of the three requirements, the last is the most commonly violated, particularly if the subclass does not override Object.equals(Object).

If the Object you call clone() on does not implement Cloneable (which is a placeholder interface), then a CloneNotSupportedException is thrown. Notice that Object does not implement Cloneable; this method exists as a convenience for subclasses that do.

Object's implementation of clone allocates space for the new Object using the correct class, without calling any constructors, and then fills in all of the new field values with the old field values. Thus, it is a shallow copy. However, subclasses are permitted to make a deep copy.

All array types implement Cloneable, and override this method as follows (it should never fail):

 public Object clone()
 {
   try
     {
       super.clone();
     }
   catch (CloneNotSupportedException e)
     {
       throw new InternalError(e.getMessage());
     }
 }
 

Specified by:
clone in interface Attributes
Overrides:
clone in class Object
Returns:
a copy of the Object
See Also:
Cloneable

equals

public boolean equals(Object obj)
Returns true if and only if the given Object is an instance of Attributes, the given attributes both do or don't ignore case for IDs and the collection of attributes is the same.

Overrides:
equals in class Object
Parameters:
obj - the Object to compare to
Returns:
whether this Object is semantically equal to another
See Also:
Object.hashCode()

get

public Attribute get(String attrID)
Specified by:
get in interface Attributes

getAll

public NamingEnumeration<Attribute> getAll()
Specified by:
getAll in interface Attributes

getIDs

public NamingEnumeration<String> getIDs()
Specified by:
getIDs in interface Attributes

hashCode

public int hashCode()
Description copied from class: Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

Notice that since hashCode is used in Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)

Overrides:
hashCode in class Object
Returns:
the hash code for this Object
See Also:
Object.equals(Object), System.identityHashCode(Object)

isCaseIgnored

public boolean isCaseIgnored()
Specified by:
isCaseIgnored in interface Attributes

put

public Attribute put(Attribute attr)
Specified by:
put in interface Attributes

put

public Attribute put(String attrID,
                     Object val)
Specified by:
put in interface Attributes

remove

public Attribute remove(String attrID)
Specified by:
remove in interface Attributes

size

public int size()
Specified by:
size in interface Attributes

toString

public String toString()
Description copied from class: Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() and such.

It is typical, but not required, to ensure that this method never completes abruptly with a RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

Overrides:
toString in class Object
Returns:
the String representing this Object, which may be null
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)