-
- All Superinterfaces:
- Cloneable, Comparable<Object>, Serializable
- All Known Implementing Classes:
- CompositeName, CompoundName, LdapName
public interface Name extends Cloneable, Serializable, Comparable<Object>
The 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.
- Since:
- 1.3
-
-
Field Summary
Fields Modifier and Type Field and Description static long
serialVersionUID
The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.
-
Method Summary
Methods Modifier and Type Method and 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.
-
-
-
Field Detail
-
serialVersionUID
static final long serialVersionUID
The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.- See Also:
- Constant Field Values
-
-
Method Detail
-
clone
Object clone()
Generates a new copy of this name. Subsequent changes to the components of this name will not affect the new copy, and vice versa.- Returns:
- a copy of this name
- See Also:
Object.clone()
-
compareTo
int compareTo(Object obj)
Compares this name with another name for order. Returns a negative integer, zero, or a positive integer as this name is less than, equal to, or greater than the given name.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.
- Specified by:
compareTo
in interfaceComparable<Object>
- Parameters:
obj
- the non-null object to compare against.- Returns:
- a negative integer, zero, or a positive integer as this name is less than, equal to, or greater than the given name
- Throws:
ClassCastException
- if obj is not a Name of a type that may be compared with this name- See Also:
Comparable.compareTo(Object)
-
size
int size()
Returns the number of components in this name.- Returns:
- the number of components in this name
-
isEmpty
boolean isEmpty()
Determines whether this name is empty. An empty name is one with zero components.- Returns:
- true if this name is empty, false otherwise
-
getAll
Enumeration<String> getAll()
Retrieves the components of this name as an enumeration of strings. The effect on the enumeration of updates to this name is undefined. If the name has zero components, an empty (non-null) enumeration is returned.- Returns:
- an enumeration of the components of this name, each a string
-
get
String get(int posn)
Retrieves a component of this name.- Parameters:
posn
- the 0-based index of the component to retrieve. Must be in the range [0,size()).- Returns:
- the component at index posn
- Throws:
ArrayIndexOutOfBoundsException
- if posn is outside the specified range
-
getPrefix
Name getPrefix(int posn)
Creates a name whose components consist of a prefix of the components of this name. Subsequent changes to this name will not affect the name that is returned and vice versa.- Parameters:
posn
- the 0-based index of the component at which to stop. Must be in the range [0,size()].- Returns:
- a name consisting of the components at indexes in the range [0,posn).
- Throws:
ArrayIndexOutOfBoundsException
- if posn is outside the specified range
-
getSuffix
Name getSuffix(int posn)
Creates a name whose components consist of a suffix of the components in this name. Subsequent changes to this name do not affect the name that is returned and vice versa.- Parameters:
posn
- the 0-based index of the component at which to start. Must be in the range [0,size()].- Returns:
- a name consisting of the components at indexes in the range [posn,size()). If posn is equal to size(), an empty name is returned.
- Throws:
ArrayIndexOutOfBoundsException
- if posn is outside the specified range
-
startsWith
boolean startsWith(Name n)
Determines whether this name starts with a specified prefix. A name n is a prefix if it is equal to getPrefix(n.size()).- Parameters:
n
- the name to check- Returns:
- true if n is a prefix of this name, false otherwise
-
endsWith
boolean endsWith(Name n)
Determines whether this name ends with a specified suffix. A name n is a suffix if it is equal to getSuffix(size()-n.size()).- Parameters:
n
- the name to check- Returns:
- true if n is a suffix of this name, false otherwise
-
addAll
Name addAll(Name suffix) throws InvalidNameException
Adds the components of a name -- in order -- to the end of this name.- Parameters:
suffix
- the components to add- Returns:
- the updated name (not a new one)
- Throws:
InvalidNameException
- if suffix is not a valid name, or if the addition of the components would violate the syntax rules of this name
-
addAll
Name addAll(int posn, Name n) throws InvalidNameException
Adds the components of a name -- in order -- at a specified position within this name. Components of this name at or after the index of the first new component are shifted up (away from 0) to accommodate the new components.- Parameters:
n
- the components to addposn
- the index in this name at which to add the new components. Must be in the range [0,size()].- Returns:
- the updated name (not a new one)
- Throws:
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 name
-
add
Name add(String comp) throws InvalidNameException
Adds a single component to the end of this name.- Parameters:
comp
- the component to add- Returns:
- the updated name (not a new one)
- Throws:
InvalidNameException
- if adding comp would violate the syntax rules of this name
-
add
Name add(int posn, String comp) throws InvalidNameException
Adds a single component at a specified position within this name. Components of this name at or after the index of the new component are shifted up by one (away from index 0) to accommodate the new component.- Parameters:
comp
- the component to addposn
- the index at which to add the new component. Must be in the range [0,size()].- Returns:
- the updated name (not a new one)
- Throws:
ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeInvalidNameException
- if adding comp would violate the syntax rules of this name
-
remove
Object remove(int posn) throws InvalidNameException
Removes a component from this name. The component of this name at the specified position is removed. Components with indexes greater than this position are shifted down (toward index 0) by one.- Parameters:
posn
- the index of the component to remove. Must be in the range [0,size()).- Returns:
- the component removed (a String)
- Throws:
ArrayIndexOutOfBoundsException
- if posn is outside the specified rangeInvalidNameException
- if deleting the component would violate the syntax rules of the name
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-javax/naming/Name.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.