Object
AbstractName
DefaultScopedName
- All Implemented Interfaces:
Serializable
,Comparable<GenericName>
,GenericName
,ScopedName
A composite of a name space (as a local name)
and a generic name valid in that name space.
See the GeoAPI javadoc for more information.
DefaultScopedName
can be instantiated by any of the following methods:
DefaultNameFactory.createGenericName(NameSpace, CharSequence[])
with an array of length 2 or more.DefaultNameFactory.parseGenericName(NameSpace, CharSequence)
with at least one occurrence of the separator in the path.- Similar static convenience methods in
Names
.
Immutability and thread safety
This class is immutable and thus inherently thread-safe if theNameSpace
and all CharSequence
elements in the arguments given to the constructor are also immutable. Subclasses shall make sure that any
overridden methods remain safe to call from multiple threads and do not change any public LocalName
state.- Since:
- 0.3
- See Also:
-
Constructor Summary
ModifierConstructorDescriptionprotected
DefaultScopedName
(GenericName path, String separator, CharSequence tail) Constructs a scoped name as the concatenation of the given generic name with a single character sequence.protected
DefaultScopedName
(GenericName path, GenericName tail) Constructs a scoped name as the concatenation of the given generic names.protected
DefaultScopedName
(NameSpace scope, List<? extends CharSequence> names) Constructs a scoped name from the specified list of strings. -
Method Summary
Modifier and TypeMethodDescriptionList
<? extends LocalName> Returns the sequence of local name for this generic name.path()
Returns every element in the sequence of parsed names except for the tip.scope()
Returns the scope (name space) in which this name is local.tail()
Returns every elements in the sequence of parsed names except for the head.Methods inherited from class AbstractName
castOrCopy, compareTo, depth, equals, hashCode, head, push, tip, toFullyQualifiedName, toInternationalString, toString
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface Comparable
compareTo
Methods inherited from interface GenericName
depth, push, toFullyQualifiedName, toInternationalString
Methods inherited from interface ScopedName
head, tip, toString
-
Constructor Details
-
DefaultScopedName
Constructs a scoped name from the specified list of strings. If any of the given names is an instance ofInternationalString
, then itstoString(Locale.ROOT)
method will be invoked for fetching an unlocalized name. Otherwise theCharSequence.toString()
method will be used.- Parameters:
scope
- the scope of this name, ornull
for the global scope.names
- the local names. This list must have at least two elements.
-
DefaultScopedName
Constructs a scoped name as the concatenation of the given generic names. The scope of the new name will be the scope of thepath
argument.- Parameters:
path
- the first part to concatenate.tail
- the second part to concatenate.
-
DefaultScopedName
Constructs a scoped name as the concatenation of the given generic name with a single character sequence. The scope of the new name will be the scope of thepath
argument. The tail is a local name created from the given character sequence.- Parameters:
path
- the first part to concatenate.separator
- the separator between the head and the tail, ornull
for inheriting the same separator than the given path.tail
- the second part to concatenate.- Since:
- 0.8
- See Also:
-
-
Method Details
-
scope
Returns the scope (name space) in which this name is local. For example if a fully qualified name is"org.opengis.util.Record"
and if this instance is the"util.Record"
part, then its scope is named"org.opengis"
.Continuing with the above example, the full
"org.opengis.util.Record"
name has no scope. If this method is invoked on such name, then the SIS implementation returns a global scope instance (i.e. an instance for whichDefaultNameSpace.isGlobal()
returnstrue
) which is unique and named"global"
.- Specified by:
scope
in interfaceGenericName
- Specified by:
scope
in classAbstractName
- Returns:
- the scope of this name.
-
tail
Returns every elements in the sequence of parsed names except for the head.- Specified by:
tail
in interfaceScopedName
- Returns:
- all elements except the first one in the in the list of parsed names.
-
path
Returns every element in the sequence of parsed names except for the tip.- Specified by:
path
in interfaceScopedName
- Returns:
- all elements except the last one in the in the list of parsed names.
-
getParsedNames
Returns the sequence of local name for this generic name.- Specified by:
getParsedNames
in interfaceGenericName
- Specified by:
getParsedNames
in classAbstractName
- Returns:
- the local names making this generic name, without the scope.
Shall never be
null
neither empty.
-