Package org.geotools.referencing
Class NamedIdentifier
Object
NamedIdentifier
- All Implemented Interfaces:
Serializable
,Comparable<GenericName>
,Identifier
,ReferenceIdentifier
,GenericName
public class NamedIdentifier
extends Object
implements ReferenceIdentifier, GenericName, Comparable<GenericName>, Serializable
An identification of a CRS object. The main interface implemented by this class is
ReferenceIdentifier
.
However, this class also implements GenericName
in order to make it possible to reuse the same identifiers in
the list of aliases. Casting an alias's generic name to an identifier gives access to more informations, like the URL of
the authority.
The generic name will be infered from identifier attributes. More specifically, a scoped name will be constructed using the shortest authority's alternate titles (or the main title if there is no alternate titles) as the scope, and the code as the head. This heuristic rule seems raisonable since, according ISO 19115, the alternate titles often contains abreviation (for example "DCW" as an alternative title for "Digital Chart of the World").
- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
-
Field Summary
Fields inherited from interface Identifier
AUTHORITY_KEY, CODE_KEY
Fields inherited from interface ReferenceIdentifier
CODESPACE_KEY, VERSION_KEY
-
Constructor Summary
ConstructorsConstructorDescriptionNamedIdentifier
(Map<String, ?> properties) Constructs an identifier from a set of properties.NamedIdentifier
(Citation authority, String code) Constructs an identifier from an authority and code informations.NamedIdentifier
(Citation authority, String code, String version) Constructs an identifier from an authority and code informations.NamedIdentifier
(Citation authority, InternationalString code) Constructs an identifier from an authority and code informations. -
Method Summary
Modifier and TypeMethodDescriptionint
compareTo
(GenericName object) Compares this name with the specified object for order.int
depth()
Returns the depth of this name within the namespace hierarchy.boolean
Compares this identifier with the specified object for equality.Organization or party responsible for definition and maintenance of the code.getCode()
Identifier code or name, optionally from a controlled list or pattern.Name or identifier of the person or organization responsible for namespace.Returns the sequence of local names making this generic name.Comments on or information about this identifier, ornull
if none.Identifier of the version of the associated code space or code, as specified by the code authority.int
hashCode()
Returns a hash code value for this identifier.head()
Returns the first element in the sequence of parsed names.push
(GenericName scope) Returns this name expanded with the specified scope.scope()
Returns the scope (name space) in which this name is local.tip()
Returns the last element in the sequence of parsed names.Returns a view of this name as a fully-qualified name.Returns a local-dependent string representation of this generic name.toString()
Returns a string representation of this generic name.
-
Constructor Details
-
NamedIdentifier
Constructs an identifier from a set of properties. Keys are strings from the table below. Key are case-insensitive, and leading and trailing spaces are ignored. The map given in argument shall contains at least a"code"
property. Other properties listed in the table below are optional.Property name Value type Value given to "code"
String
getCode()
"code"
String
getCodeSpace()
"authority"
String
orCitation
getAuthority()
"version"
String
getVersion()
"remarks"
String
orInternationalString
getRemarks()
"remarks"
is a localizable attributes which may have a language and country code suffix. For example the"remarks_fr"
property stands for remarks in French and the"remarks_fr_CA"
property stands for remarks in French Canadian.- Parameters:
properties
- The properties to be given to this identifier.- Throws:
InvalidParameterValueException
- if a property has an invalid value.IllegalArgumentException
- if a property is invalid for some other reason.
-
NamedIdentifier
Constructs an identifier from an authority and code informations. This is a convenience constructor for commonly-used parameters. If more control are wanted (for example adding remarks), use the constructor with a properties map.- Parameters:
authority
- The authority (e.g.OGC
orEPSG
).code
- The code. The English name is used for the code, and the international string is used for the generic name.
-
NamedIdentifier
Constructs an identifier from an authority and code informations. This is a convenience constructor for commonly-used parameters. If more control are wanted (for example adding remarks), use the constructor with a properties map. -
NamedIdentifier
Constructs an identifier from an authority and code informations. This is a convenience constructor for commonly-used parameters. If more control are wanted (for example adding remarks), use the constructor with a properties map.
-
-
Method Details
-
getCode
Identifier code or name, optionally from a controlled list or pattern.- Specified by:
getCode
in interfaceIdentifier
- Returns:
- The code.
-
getCodeSpace
Name or identifier of the person or organization responsible for namespace.- Specified by:
getCodeSpace
in interfaceReferenceIdentifier
- Returns:
- The codespace, or
null
if not available.
-
getAuthority
Organization or party responsible for definition and maintenance of the code.- Specified by:
getAuthority
in interfaceIdentifier
- Returns:
- The authority, or
null
if not available.
-
getVersion
Identifier of the version of the associated code space or code, as specified by the code authority. This version is included only when the code uses versions. When appropriate, the edition is identified by the effective date, coded using ISO 8601 date format.- Specified by:
getVersion
in interfaceReferenceIdentifier
- Returns:
- The version, or
null
if not available.
-
getRemarks
Comments on or information about this identifier, ornull
if none.- Returns:
- Optional comments about this identifier.
-
head
Returns the first element in the sequence of parsed names.- Specified by:
head
in interfaceGenericName
- Returns:
- The first element in the list of parsed names.
- Since:
- 2.6
-
tip
Returns the last element in the sequence of parsed names.- Specified by:
tip
in interfaceGenericName
- Returns:
- The last element in the list of parsed names.
- Since:
- 2.3
-
scope
Returns the scope (name space) in which this name is local.- Specified by:
scope
in interfaceGenericName
- Returns:
- The scope of this name.
- Since:
- 2.3
-
depth
public int depth()Returns the depth of this name within the namespace hierarchy.- Specified by:
depth
in interfaceGenericName
- Returns:
- The depth of this name.
- Since:
- 2.3
-
getParsedNames
Returns the sequence of local names making this generic name. Each element in this list is like a directory name in a file path name. The length of this sequence is the generic name depth.- Specified by:
getParsedNames
in interfaceGenericName
- Returns:
- The local names making this generic name, without the scope. Shall never be
null
neither empty.
-
push
Returns this name expanded with the specified scope. One may represent this operation as a concatenation of the specifiedname
withthis
.- Specified by:
push
in interfaceGenericName
- Parameters:
scope
- The name to use as prefix.- Returns:
- A concatenation of the given name with this name.
- Since:
- 2.3
-
toFullyQualifiedName
Returns a view of this name as a fully-qualified name.- Specified by:
toFullyQualifiedName
in interfaceGenericName
- Returns:
- The fully-qualified name (never
null
). - Since:
- 2.3
-
toInternationalString
Returns a local-dependent string representation of this generic name. This string is similar to the one returned bytoString()
except that each element has been localized in the specified locale. If no international string is available, then this method returns an implementation mapping totoString()
for all locales.- Specified by:
toInternationalString
in interfaceGenericName
- Returns:
- A localizable string representation of this name.
-
toString
Returns a string representation of this generic name. This string representation is local-independant. It contains all elements listed bygetParsedNames()
separated by an arbitrary character (usually:
or/
).- Specified by:
toString
in interfaceGenericName
- Overrides:
toString
in classObject
- Returns:
- A local-independant string representation of this name.
-
compareTo
Compares this name with the specified object for order. Returns a negative integer, zero, or a positive integer as this name lexicographically precedes, is equals to, or follows the specified object.- Specified by:
compareTo
in interfaceComparable<GenericName>
- Parameters:
object
- The object to compare with.- Returns:
- -1 if this identifier precedes the given object, +1 if it follows it.
-
equals
Compares this identifier with the specified object for equality. -
hashCode
public int hashCode()Returns a hash code value for this identifier.
-