Cloneable
, Comparable<Object>
, Serializable
CompositeName
, CompoundName
, LdapName
public interface Name extends Cloneable, Serializable, Comparable<Object>
Name
interface represents a generic name -- an ordered
sequence of components. It can be a composite name (names that
span multiple namespaces), or a compound name (names that are
used within individual hierarchical naming systems).
There can be different implementations of Name
; for example,
composite names, URLs, or namespace-specific compound names.
The components of a name are numbered. The indexes of a name with N components range from 0 up to, but not including, N. This range may be written as [0,N). The most significant component is at index 0. An empty name has no components.
None of the methods in this interface accept null as a valid value for a parameter that is a name or a name component. Likewise, methods that return a name or name component never return null.
An instance of a Name
may not be synchronized against
concurrent multithreaded access if that access is not read-only.
Modifier and Type | Field | Description |
---|---|---|
static long |
serialVersionUID |
The class fingerprint that is set to indicate
serialization compatibility with a previous
version of the class.
|
Modifier and Type | Method | Description |
---|---|---|
Name |
add(int posn,
String comp) |
Adds a single component at a specified position within this name.
|
Name |
add(String comp) |
Adds a single component to the end of this name.
|
Name |
addAll(int posn,
Name n) |
Adds the components of a name -- in order -- at a specified position
within this name.
|
Name |
addAll(Name suffix) |
Adds the components of a name -- in order -- to the end of this name.
|
Object |
clone() |
Generates a new copy of this name.
|
int |
compareTo(Object obj) |
Compares this name with another name for order.
|
boolean |
endsWith(Name n) |
Determines whether this name ends with a specified suffix.
|
String |
get(int posn) |
Retrieves a component of this name.
|
Enumeration<String> |
getAll() |
Retrieves the components of this name as an enumeration
of strings.
|
Name |
getPrefix(int posn) |
Creates a name whose components consist of a prefix of the
components of this name.
|
Name |
getSuffix(int posn) |
Creates a name whose components consist of a suffix of the
components in this name.
|
boolean |
isEmpty() |
Determines whether this name is empty.
|
Object |
remove(int posn) |
Removes a component from this name.
|
int |
size() |
Returns the number of components in this name.
|
boolean |
startsWith(Name n) |
Determines whether this name starts with a specified prefix.
|
static final long serialVersionUID
Object clone()
Object.clone()
int compareTo(Object obj)
As with Object.equals()
, the notion of ordering for names
depends on the class that implements this interface.
For example, the ordering may be
based on lexicographical ordering of the name components.
Specific attributes of the name, such as how it treats case,
may affect the ordering. In general, two names of different
classes may not be compared.
compareTo
in interface Comparable<Object>
obj
- the non-null object to compare against.ClassCastException
- if obj is not a Name
of a
type that may be compared with this nameComparable.compareTo(Object)
int size()
boolean isEmpty()
Enumeration<String> getAll()
String get(int posn)
posn
- the 0-based index of the component to retrieve.
Must be in the range [0,size()).ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeName getPrefix(int posn)
posn
- the 0-based index of the component at which to stop.
Must be in the range [0,size()].ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeName getSuffix(int posn)
posn
- the 0-based index of the component at which to start.
Must be in the range [0,size()].ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeboolean startsWith(Name n)
n
is a prefix if it is equal to
getPrefix(n.size())
.n
- the name to checkn
is a prefix of this name, false otherwiseboolean endsWith(Name n)
n
is a suffix if it is equal to
getSuffix(size()-n.size())
.n
- the name to checkn
is a suffix of this name, false otherwiseName addAll(Name suffix) throws InvalidNameException
suffix
- the components to addInvalidNameException
- if suffix
is not a valid name,
or if the addition of the components would violate the syntax
rules of this nameName addAll(int posn, Name n) throws InvalidNameException
n
- the components to addposn
- the index in this name at which to add the new
components. Must be in the range [0,size()].ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeInvalidNameException
- if n
is not a valid name,
or if the addition of the components would violate the syntax
rules of this nameName add(String comp) throws InvalidNameException
comp
- the component to addInvalidNameException
- if adding comp
would violate
the syntax rules of this nameName add(int posn, String comp) throws InvalidNameException
comp
- the component to addposn
- the index at which to add the new component.
Must be in the range [0,size()].ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeInvalidNameException
- if adding comp
would violate
the syntax rules of this nameObject remove(int posn) throws InvalidNameException
posn
- the index of the component to remove.
Must be in the range [0,size()).ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeInvalidNameException
- if deleting the component
would violate the syntax rules of the name Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps