|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.naming.CompoundName
public class CompoundName
Represents hierarchical names from the single namespace. For instance, the path /home/audriusa/classpath/file.txt is the compound name, using the filesystem namespace.
Field Summary | |
---|---|
protected Properties |
mySyntax
|
Constructor Summary | |
---|---|
protected |
CompoundName(Enumeration<String> comps,
Properties syntax)
|
|
CompoundName(String n,
Properties syntax)
|
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()
This method may be called to create a new copy of the Object. |
int |
compareTo(Object obj)
Compares the given object to this Name . |
boolean |
endsWith(Name n)
Returns true if this Name ends with the
components of the given Name , false otherwise. |
boolean |
equals(Object obj)
Determine whether this Object is semantically equal to another Object. |
String |
get(int posn)
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 String s. |
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 . |
int |
hashCode()
Get a value that represents this Object, as uniquely as possible within the confines of an int. |
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 n)
Returns true if this Name starts with the
components of the given Name , false otherwise. |
String |
toString()
Convert this Object to a human-readable String. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected transient Properties mySyntax
Constructor Detail |
---|
protected CompoundName(Enumeration<String> comps, Properties syntax)
public CompoundName(String n, Properties syntax) throws InvalidNameException
InvalidNameException
Method Detail |
---|
public Name add(int posn, String comp) throws InvalidNameException
Name
String
component to this Name
at the given index. The method modifies the current Name
and
then returns it.
add
in interface Name
InvalidNameException
- if the given String
is not a
valid component for this Name
.public Name add(String comp) throws InvalidNameException
Name
String
component to the end of this
Name
. The method modifies the current Name
and
then returns it.
add
in interface Name
InvalidNameException
- if the given String
is not a
valid component for this Name
.public Name addAll(int posn, Name n) throws InvalidNameException
Name
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.
addAll
in interface Name
InvalidNameException
- if any of the given components is not a
valid component for this Name
.public Name addAll(Name suffix) throws InvalidNameException
Name
Name
to the end of this
Name
. The method modifies the current Name
and
then returns it.
addAll
in interface Name
InvalidNameException
- if any of the given components is not a
valid component for this Name
.public Object clone()
Object
o == o.clone()
is falseo.getClass() == o.clone().getClass()
is trueo.equals(o)
is trueHowever, 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()); } }
clone
in interface Name
clone
in class Object
Cloneable
public int compareTo(Object obj)
Name
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 Name
s implemented in different classes can
be compared. The definition of smaller, bigger and equal is up to the
actual implementing class.
compareTo
in interface Comparable<Object>
compareTo
in interface Name
obj
- the object to be compared
public boolean endsWith(Name n)
Name
true
if this Name
ends with the
components of the given Name
, false
otherwise.
endsWith
in interface Name
public boolean equals(Object obj)
Object
There are some fairly strict requirements on this
method which subclasses must follow:
a.equals(b)
and
b.equals(c)
, then a.equals(c)
must be true as well.a.equals(b)
and
b.equals(a)
must have the same value.a.equals(a)
must
always be true.a.equals(null)
must be false.a.equals(b)
must imply
a.hashCode() == b.hashCode()
.
The reverse is not true; two objects that are not
equal may have the same hashcode, but that has
the potential to harm hashing performance.This is typically overridden to throw a ClassCastException
if the argument is not comparable to the class performing
the comparison, but that is not a requirement. It is legal
for a.equals(b)
to be true even though
a.getClass() != b.getClass()
. Also, it
is typical to never cause a NullPointerException
.
In general, the Collections API (java.util
) use the
equals
method rather than the ==
operator to compare objects. However, IdentityHashMap
is an exception to this rule, for its own good reasons.
The default implementation returns this == o
.
equals
in class Object
obj
- the Object to compare to
Object.hashCode()
public String get(int posn)
Name
get
in interface Name
public Enumeration<String> getAll()
Name
Enumeration
of the
components of the Name
as String
s.
getAll
in interface Name
public Name getPrefix(int posn)
Name
Name
.
The returned Name
can be modified without changing the
original.
getPrefix
in interface Name
posn
- the ending position, exclusivepublic Name getSuffix(int posn)
Name
Name
.
The returned Name
can be modified without changing the
original.
getSuffix
in interface Name
posn
- the starting position, inclusive. If it is equal to the size
of the name, the empty name is returned.public int hashCode()
Object
There are some requirements on this method which
subclasses must follow:
a.equals(b)
is true, then
a.hashCode() == b.hashCode()
must be as well.
However, the reverse is not necessarily true, and two
objects may have the same hashcode without being equal.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)
hashCode
in class Object
Object.equals(Object)
,
System.identityHashCode(Object)
public boolean isEmpty()
Name
true
if the number of components of this
Name
is zero, false
otherwise.
isEmpty
in interface Name
public Object remove(int posn) throws InvalidNameException
Name
Name
.
The method modifies the current Name
and then returns it.
remove
in interface Name
InvalidNameException
- if the given String
is not a
valid component for this Name
.public int size()
Name
Name
.
The returned number can be zero.
size
in interface Name
public boolean startsWith(Name n)
Name
true
if this Name
starts with the
components of the given Name
, false
otherwise.
startsWith
in interface Name
public String toString()
Object
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())
.
toString
in class Object
Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |