javax.naming
Interface Name

All Superinterfaces:
Cloneable, Comparable<Object>, Serializable
All Known Implementing Classes:
CompositeName, CompoundName

public interface Name
extends Cloneable, Serializable, Comparable<Object>

Interface descriping a name build up from different components. The components are represented as Strings which are ordered from most significant to least significant. There are methods to get the number of components. Methods to get a particular component or group of components. Components can be added as Strings or Names and a component can be removed from any position in the Name. A Name can be compared to another Name and it can be checked if a particular Name starts or ends with the same components as another Name. Finally Names can be serialized and cloned.

Since Names can be empty (have no components) methods that return a Name will never return null.

Since:
1.3

Field Summary
static long serialVersionUID
           
 
Method Summary
 Name add(int posn, String comp)
          Inserts the given String component to this Name at the given index.
 Name add(String comp)
          Adds the given String component to the end of this Name.
 Name addAll(int posn, Name n)
          Inserts all the components of the given Name to this Name at the given index.
 Name addAll(Name suffix)
          Adds all the components of the given Name to the end of this Name.
 Object clone()
          Returns a clone of this Name.
 int compareTo(Object obj)
          Compares the given object to this Name.
 boolean endsWith(Name name)
          Returns true if this Name ends with the components of the given Name, false otherwise.
 String get(int i)
          Gets the component at the given index.
 Enumeration<String> getAll()
          Returns a non-null (but possibly empty) Enumeration of the components of the Name as Strings.
 Name getPrefix(int posn)
          Returns the components till the given index as a Name.
 Name getSuffix(int posn)
          Returns the components from the given index till the end as a Name.
 boolean isEmpty()
          Returns true if the number of components of this Name is zero, false otherwise.
 Object remove(int posn)
          Removes the component at the given index from this Name.
 int size()
          Returns the number of components of this Name.
 boolean startsWith(Name name)
          Returns true if this Name starts with the components of the given Name, false otherwise.
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values
Method Detail

size

int size()
Returns the number of components of this Name. The returned number can be zero.


isEmpty

boolean isEmpty()
Returns true if the number of components of this Name is zero, false otherwise.


getAll

Enumeration<String> getAll()
Returns a non-null (but possibly empty) Enumeration of the components of the Name as Strings.


get

String get(int i)
Gets the component at the given index.

Throws:
ArrayIndexOutOfBoundsException - if the given index is smaller then zero or greater then or equal to size().

getPrefix

Name getPrefix(int posn)
Returns the components till the given index as a Name. The returned Name can be modified without changing the original.

Parameters:
posn - the ending position, exclusive
Throws:
ArrayIndexOutOfBoundsException - if the given index is smaller then zero or greater then or equal to size().

getSuffix

Name getSuffix(int posn)
Returns the components from the given index till the end as a Name. The returned Name can be modified without changing the original.

Parameters:
posn - the starting position, inclusive. If it is equal to the size of the name, the empty name is returned.
Throws:
ArrayIndexOutOfBoundsException - if the given index is smaller then zero or greater then or equal to size().

add

Name add(String comp)
         throws InvalidNameException
Adds the given String component to the end of this Name. The method modifies the current Name and then returns it.

Throws:
InvalidNameException - if the given String is not a valid component for this Name.

add

Name add(int posn,
         String comp)
         throws InvalidNameException
Inserts the given String component to this Name at the given index. The method modifies the current Name and then returns it.

Throws:
ArrayIndexOutOfBoundsException - if the given index is smaller then zero or greater then or equal to size().
InvalidNameException - if the given String is not a valid component for this Name.

addAll

Name addAll(Name suffix)
            throws InvalidNameException
Adds all the components of the given Name to the end of this Name. The method modifies the current Name and then returns it.

Throws:
InvalidNameException - if any of the given components is not a valid component for this Name.

addAll

Name addAll(int posn,
            Name n)
            throws InvalidNameException
Inserts all the components of the given Name to this Name at the given index. Components after this index (if any) are shifted up. The method modifies the current Name and then returns it.

Throws:
ArrayIndexOutOfBoundsException - if the given index is smaller then zero or greater then or equal to size().
InvalidNameException - if any of the given components is not a valid component for this Name.

remove

Object remove(int posn)
              throws InvalidNameException
Removes the component at the given index from this Name. The method modifies the current Name and then returns it.

Throws:
InvalidNameException - if the given String is not a valid component for this Name.

startsWith

boolean startsWith(Name name)
Returns true if this Name starts with the components of the given Name, false otherwise.


endsWith

boolean endsWith(Name name)
Returns true if this Name ends with the components of the given Name, false otherwise.


compareTo

int compareTo(Object obj)
Compares the given object to this Name. Returns a negative value if the given Object is smaller then this Name, a positive value if the Object is bigger, and zero if the are equal. If the Object is not of a class that can be compared to the class of this Name then a ClassCastException is thrown. Note that it is not guaranteed that Names implemented in different classes can be compared. The definition of smaller, bigger and equal is up to the actual implementing class.

Specified by:
compareTo in interface Comparable<Object>
Parameters:
obj - the object to be compared
Returns:
an integer describing the comparison

clone

Object clone()
Returns a clone of this Name. It will be a deep copy of all the components of the Name so that changes to components of the components does not change the component in this Name.