public final class IdentifiedObjects extends Static
IdentifiedObject
interface.Modifier and Type | Method and Description |
---|---|
static Identifier |
getIdentifier(IdentifiedObject object,
Citation authority)
Returns an identifier for the given object according the given authority.
|
static String |
getIdentifierOrName(IdentifiedObject object)
Returns the string representation of the first identifier, or the object name if there is no identifier.
|
static String |
getName(IdentifiedObject object,
Citation authority)
Returns an object name according the given authority.
|
static Set<String> |
getNames(IdentifiedObject object,
Citation authority)
Returns every object names and aliases according the given authority.
|
static Map<String,?> |
getProperties(IdentifiedObject object,
String... excludes)
Returns the information provided in the specified identified object as a map of properties.
|
static String |
getUnicodeIdentifier(IdentifiedObject object)
Returns the first name, alias or identifier which is a
valid Unicode identifier.
|
static boolean |
isHeuristicMatchForName(IdentifiedObject object,
String name)
Returns
true if either the primary name or at least
one alias matches the given string according heuristic rules. |
static String |
toString(Identifier identifier)
Returns a string representation of the given identifier.
|
public static Map<String,?> getProperties(IdentifiedObject object, String... excludes)
excludes
list
and for which the corresponding method returns a non-null and non-empty value.
Key | Value |
---|---|
"name" | IdentifiedObject.getName() |
"alias" | IdentifiedObject.getAlias() |
"identifiers" | IdentifiedObject.getIdentifiers() |
"remarks" | IdentifiedObject.getRemarks() |
"scope" | CoordinateOperation.getScope() (also in datum and reference systems) |
"domainOfValidity" | CoordinateOperation.getDomainOfValidity() (also in datum and reference systems) |
"operationVersion" | CoordinateOperation.getOperationVersion() |
"coordinateOperationAccuracy" | CoordinateOperation.getCoordinateOperationAccuracy() |
CoordinateSystemAxis
instances because the minimum and maximum
values depend on the units of measurement.object
- The identified object to view as a properties map.excludes
- The keys of properties to exclude from the map.public static Set<String> getNames(IdentifiedObject object, Citation authority)
getName(IdentifiedObject, Citation)
, except that it does not
stop at the first match. This method is useful in the rare cases where the same authority
declares more than one name, and all those names are of interest.object
- The object to get the names and aliases from, or null
.authority
- The authority for the names to return, or null
for any authority.public static String getName(IdentifiedObject object, Citation authority)
Identifier
interface,
then this method compares the identifier authority against the specified citation using the
Citations.identifierMatches(Citation, Citation)
method.
If a matching is found, then this method returns the
identifier code of that object.GenericName
interface, then this method
compares the name scope against the specified citation
using the Citations.identifierMatches(Citation, String)
method.
If a matching is found, then this method returns the
name tip of that object.Identifier
and GenericName
interfaces (for example NamedIdentifier
). In such cases, the identifier view has
precedence.object
- The object to get the name from, or null
.authority
- The authority for the name to return, or null
for any authority.null
if no name matching the
specified authority has been found.AbstractIdentifiedObject.getName()
public static Identifier getIdentifier(IdentifiedObject object, Citation authority)
object
- The object to get the identifier from, or null
.authority
- The authority for the identifier to return, or null
for
the first identifier regardless its authority.null
if no identifier matching the specified authority
has been found.AbstractIdentifiedObject.getIdentifier()
public static String getIdentifierOrName(IdentifiedObject object)
object.getIdentifiers()
. If there is none,
then this method fallback on object.getName()
.
The first element found is formatted by toString(Identifier)
.
getIdentifier(IdentifiedObject, Citation)
instead.object
- The identified object, or null
.null
if none.getIdentifier(IdentifiedObject, Citation)
,
#searchIdentifierCode(IdentifiedObject, boolean)
public static String getUnicodeIdentifier(IdentifiedObject object)
object.getName()
object.getAlias()
in iteration orderobject.getIdentifiers()
in iteration orderobject
- The identified object, or null
.null
if none.ImmutableIdentifier
,
Citations.getUnicodeIdentifier(Citation)
,
CharSequences.isUnicodeIdentifier(CharSequence)
public static boolean isHeuristicMatchForName(IdentifiedObject object, String name)
true
if either the primary name or at least
one alias matches the given string according heuristic rules.
If the given object is an instance of AbstractIdentifiedObject
, then this method delegates to its
isHeuristicMatchForName(String)
method
in order to leverage the additional rules implemented by sub-classes.
Otherwise the fallback implementation returns true
if the given name
is equal,
ignoring aspects documented below, to one of the following names:
The comparison ignores the following aspects:
"Réunion"
and "Reunion"
are considered equal)."Mercator (1SP)"
and "Mercator_1SP"
are considered equal).IdentifiedObject.getName().getCode()
or with the Well Known Text (WKT)
projection or parameter name.object
- The object for which to check the name or alias.name
- The name to compare with the object name or aliases.true
if the primary name of at least one alias matches the specified name
.AbstractIdentifiedObject.isHeuristicMatchForName(String)
public static String toString(Identifier identifier)
GenericName
interface,
then this method delegates to the GenericName.toString()
method.codespace:code
".authority:code
".GenericName.toString()
behavior is specified by its javadoc,
while Identifier
has no such contract. For example like most ISO 19115 objects in SIS,
the DefaultIdentifier
implementation is formatted as a tree.
This static method can be used when a "name-like" representation is needed for any implementation.identifier
- The identifier, or null
.null
.FormattableObject.toString()
,
NamedIdentifier.toString()
Copyright © 2010–2015 The Apache Software Foundation. All rights reserved.