Package org.apache.sis.util.iso
Class DefaultScopedName
- Object
-
- AbstractName
-
- DefaultScopedName
-
- All Implemented Interfaces:
Serializable
,Comparable<GenericName>
,GenericName
,ScopedName
public class DefaultScopedName extends AbstractName implements 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 safetyThis class is immutable and thus inherently thread-safe if theNameSpace
and allCharSequence
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 publicLocalName
state.- Since:
- 0.3
- See Also:
DefaultNameSpace
,DefaultLocalName
, Serialized Form
Defined in the
sis-metadata
module
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<? extends LocalName>
getParsedNames()
Returns the sequence of local name for this generic name.GenericName
path()
Returns every element in the sequence of parsed names except for the tip.NameSpace
scope()
Returns the scope (name space) in which this name is local.GenericName
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 Detail
-
DefaultScopedName
protected DefaultScopedName(NameSpace scope, List<? extends CharSequence> names)
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
protected DefaultScopedName(GenericName path, GenericName tail)
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
protected DefaultScopedName(GenericName path, String separator, CharSequence tail)
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:
Names.createScopedName(GenericName, String, CharSequence)
-
-
Method Detail
-
scope
public NameSpace 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
public GenericName 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
public GenericName 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
public List<? extends LocalName> 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.
-
-