| java.lang.Object org.geotools.referencing.wkt.Formattable org.geotools.referencing.AbstractIdentifiedObject
All known Subclasses: org.geotools.referencing.datum.AbstractDatum, org.geotools.referencing.operation.DefaultOperationMethod, org.geotools.referencing.datum.DefaultPrimeMeridian, org.geotools.referencing.operation.AbstractCoordinateOperation, org.geotools.referencing.datum.DefaultEllipsoid, org.geotools.referencing.AbstractReferenceSystem, org.geotools.referencing.cs.AbstractCS, org.geotools.referencing.cs.DefaultCoordinateSystemAxis, org.geotools.parameter.AbstractParameterDescriptor,
AbstractIdentifiedObject | public class AbstractIdentifiedObject extends Formattable implements IdentifiedObject,Serializable(Code) | | A base class for metadata applicable to reference system objects.
When
AuthorityFactory is used to create an object, the
and
values are set to the authority
name of the factory object, and the authority code supplied by the client, respectively.
When
ObjectFactory creates an object, the
is set to
the value supplied by the client and all of the other metadata items are left empty.
This class is conceptually abstract, even if it is technically possible to
instantiate it. Typical applications should create instances of the most specific subclass with
Default prefix instead. An exception to this rule may occurs when it is not possible to
identify the exact type. For example it is not possible to infer the exact coordinate system from
Well
Known Text is some cases (e.g. in a
LOCAL_CS element). In such exceptional
situation, a plain
org.geotools.referencing.cs.AbstractCS object may be instantiated.
since: 2.1 version: $Id: AbstractIdentifiedObject.java 28264 2007-12-05 21:53:08Z desruisseaux $ author: Martin Desruisseaux |
Constructor Summary | |
public | AbstractIdentifiedObject(IdentifiedObject object) Constructs a new identified object with the same values than the specified one.
This copy constructor provides a way to wrap an arbitrary implementation into a
Geotools one or a user-defined one (as a subclass), usually in order to leverage
some implementation-specific API. | public | AbstractIdentifiedObject(Map properties) Constructs an object from a set of properties. | protected | AbstractIdentifiedObject(Map properties, Map subProperties, String[] localizables) Constructs an object from a set of properties and copy unrecognized properties in the
specified map. |
Method Summary | |
protected static Set | asSet(Object[] array) Returns the specified array as an immutable set, or
null if the
array is empty or null. | protected static void | ensureAngularUnit(Unit unit) Makes sure that the specified unit is an angular one. | protected static void | ensureLinearUnit(Unit unit) Makes sure that the specified unit is a linear one. | protected static void | ensureNonNull(String name, Object object) Makes sure that an argument is non-null. | protected static void | ensureNonNull(String name, Object[] array, int index) Makes sure an array element is non-null. | protected static void | ensureTimeUnit(Unit unit) Makes sure that the specified unit is a temporal one. | final public boolean | equals(Object object) Compares the specified object with this object for equality.
Parameters: object - The other object (may be null ). | public boolean | equals(AbstractIdentifiedObject object, boolean compareMetadata) Compares this object with the specified object for equality.
If
compareMetadata is
true , then all available properties are
compared including
,
,
, etc.
If
compareMetadata is
false , then this method compare
only the properties needed for computing transformations. | static boolean | equals(AbstractIdentifiedObject object1, AbstractIdentifiedObject object2, boolean compareMetadata) Compares two Geotools's
AbstractIdentifiedObject objects for equality. | protected static boolean | equals(IdentifiedObject object1, IdentifiedObject object2, boolean compareMetadata) Compares two OpenGIS's
IdentifiedObject objects for equality. | protected static boolean | equals(IdentifiedObject[] array1, IdentifiedObject[] array2, boolean compareMetadata) Compares two arrays of OpenGIS's
IdentifiedObject objects for equality. | protected static boolean | equals(Collection collection1, Collection collection2, boolean compareMetadata) Compares two collectionss of OpenGIS's
IdentifiedObject objects for equality.
The comparaison take order in account, which make it more appropriate for
List or
LinkedHashSet comparaisons. | public Collection | getAlias() An alternative name by which this object is identified. | public ReferenceIdentifier | getIdentifier(Citation authority) Returns an identifier according the given authority. | public static ReferenceIdentifier | getIdentifier(IdentifiedObject info, Citation authority) Returns an identifier according the given authority. | public Set | getIdentifiers() An identifier which references elsewhere the object's defining information. | public ReferenceIdentifier | getName() The primary name by which this object is identified. | public String | getName(Citation authority) Returns this object's name according the given authority. | public static String | getName(IdentifiedObject info, Citation authority) Returns an object's name according the given authority. | public static Map | getProperties(IdentifiedObject info) Returns the informations provided in the specified indentified object as a map of
properties. | public static Map | getProperties(IdentifiedObject info, Citation authority) Returns the properties to be given to an identified object derived from the specified one.
This method is typically used for creating a new CRS identical to an existing one except
for axis units. | public InternationalString | getRemarks() Comments on or information about this object, including data source information. | public int | hashCode() Returns a hash value for this identified object. | public boolean | nameMatches(String name) Returns
true if either the
or at least
one
matches the specified string. | public static boolean | nameMatches(IdentifiedObject object, String name) Returns
true if either the
or at least
one
matches the specified string. | public static boolean | nameMatches(IdentifiedObject o1, IdentifiedObject o2) Returns
true if the
of an object matches
the primary name of one
of the other object. |
EMPTY_ALIAS_ARRAY | final public static GenericName[] EMPTY_ALIAS_ARRAY(Code) | | An empty array of alias. This is usefull for fetching alias as an array,
using the following idiom:
.toArray(EMPTY_ALIAS_ARRAY);
|
EMPTY_IDENTIFIER_ARRAY | final public static ReferenceIdentifier[] EMPTY_IDENTIFIER_ARRAY(Code) | | An empty array of identifiers. This is usefull for fetching identifiers as an array,
using the following idiom:
.toArray(EMPTY_IDENTIFIER_ARRAY);
|
IDENTIFIER_COMPARATOR | final public static Comparator IDENTIFIER_COMPARATOR(Code) | | A comparator for sorting identified objects by
.
|
NAME_COMPARATOR | final public static Comparator NAME_COMPARATOR(Code) | | A comparator for sorting identified objects by
.
|
REMARKS_COMPARATOR | final public static Comparator REMARKS_COMPARATOR(Code) | | A comparator for sorting identified objects by
.
|
AbstractIdentifiedObject | public AbstractIdentifiedObject(IdentifiedObject object)(Code) | | Constructs a new identified object with the same values than the specified one.
This copy constructor provides a way to wrap an arbitrary implementation into a
Geotools one or a user-defined one (as a subclass), usually in order to leverage
some implementation-specific API. This constructor performs a shallow copy,
i.e. the properties are not cloned.
|
AbstractIdentifiedObject | public AbstractIdentifiedObject(Map properties) throws IllegalArgumentException(Code) | | Constructs an object 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
"name" property. Other properties listed
in the table below are optional.
Additionally, all localizable attributes like
"remarks" may have a language and
country code suffix. For example the
"remarks_fr" property stands for remarks in
and the
"remarks_fr_CA" property stands
for remarks in
.
Note that the
"authority" and
"version" properties are ignored if the
"name" property is already a
Citation object instead of a
String .
throws: InvalidParameterValueException - if a property has an invalid value. throws: IllegalArgumentException - if a property is invalid for some other reason. |
AbstractIdentifiedObject | protected AbstractIdentifiedObject(Map properties, Map subProperties, String[] localizables) throws IllegalArgumentException(Code) | | Constructs an object from a set of properties and copy unrecognized properties in the
specified map. The
properties argument is treated as in the
. All
properties unknow to this
AbstractIdentifiedObject constructor are copied
in the
subProperties map, after their key has been normalized (usually
lower case, leading and trailing space removed).
If
localizables is non-null, then all keys listed in this argument are
treated as localizable one (i.e. may have a suffix like "_fr", "_de", etc.). Localizable
properties are stored in the
subProperties map as
InternationalString objects.
Parameters: properties - Set of properties. Should contains at least "name" . Parameters: subProperties - The map in which to copy unrecognized properties. Parameters: localizables - Optional list of localized properties. throws: InvalidParameterValueException - if a property has an invalid value. throws: IllegalArgumentException - if a property is invalid for some other reason. |
asSet | protected static Set asSet(Object[] array)(Code) | | Returns the specified array as an immutable set, or
null if the
array is empty or null. This is a convenience method for sub-classes
constructors.
Parameters: array - The array to copy in a set. May be null . A set containing the array elements, or null if none or empty. |
ensureAngularUnit | protected static void ensureAngularUnit(Unit unit) throws IllegalArgumentException(Code) | | Makes sure that the specified unit is an angular one.
This is a convenience method for subclass constructors.
Parameters: unit - Unit to check. throws: IllegalArgumentException - if unit is not an angular unit. |
ensureLinearUnit | protected static void ensureLinearUnit(Unit unit) throws IllegalArgumentException(Code) | | Makes sure that the specified unit is a linear one.
This is a convenience method for subclass constructors.
Parameters: unit - Unit to check. throws: IllegalArgumentException - if unit is not a linear unit. |
ensureNonNull | protected static void ensureNonNull(String name, Object object) throws IllegalArgumentException(Code) | | Makes sure that an argument is non-null. This is a
convenience method for subclass constructors.
Parameters: name - Argument name. Parameters: object - User argument. throws: InvalidParameterValueException - if object is null. |
ensureNonNull | protected static void ensureNonNull(String name, Object[] array, int index) throws IllegalArgumentException(Code) | | Makes sure an array element is non-null. This is
a convenience method for subclass constructors.
Parameters: name - Argument name. Parameters: array - User argument. Parameters: index - Index of the element to check. throws: InvalidParameterValueException - if array[i] is null. |
ensureTimeUnit | protected static void ensureTimeUnit(Unit unit) throws IllegalArgumentException(Code) | | Makes sure that the specified unit is a temporal one.
This is a convenience method for subclass constructors.
Parameters: unit - Unit to check. throws: IllegalArgumentException - if unit is not a temporal unit. |
equals | final public boolean equals(Object object)(Code) | | Compares the specified object with this object for equality.
Parameters: object - The other object (may be null ). true if both objects are equal. |
equals | public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)(Code) | | Compares this object with the specified object for equality.
If
compareMetadata is
true , then all available properties are
compared including
,
,
, etc.
If
compareMetadata is
false , then this method compare
only the properties needed for computing transformations. In other words,
sourceCS.equals(targetCS, false) returns
true only if
the transformation from
sourceCS to
targetCS is
the identity transform, no matter what
AbstractIdentifiedObject.getName() saids.
Some subclasses (especially
org.geotools.referencing.datum.AbstractDatum and
org.geotools.parameter.AbstractParameterDescriptor ) will test for the
, since objects with different name have completly
different meaning. For example nothing differentiate the
"semi_major" and
"semi_minor" parameters except the name. The name comparaison may be loose
however, i.e. we may accept a name matching an alias.
Parameters: object - The object to compare to this . Parameters: compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations. true if both objects are equal. |
equals | static boolean equals(AbstractIdentifiedObject object1, AbstractIdentifiedObject object2, boolean compareMetadata)(Code) | | Compares two Geotools's
AbstractIdentifiedObject objects for equality. This
method is equivalent to
object1.equals(object2, compareMetadata) except that one or both arguments may be null. This convenience method is provided for
implementation of
equals in subclasses.
Parameters: object1 - The first object to compare (may be null ). Parameters: object2 - The second object to compare (may be null ). Parameters: compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations. true if both objects are equal. |
equals | protected static boolean equals(IdentifiedObject object1, IdentifiedObject object2, boolean compareMetadata)(Code) | | Compares two OpenGIS's
IdentifiedObject objects for equality. This convenience
method is provided for implementation of
equals in subclasses.
Parameters: object1 - The first object to compare (may be null ). Parameters: object2 - The second object to compare (may be null ). Parameters: compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations. true if both objects are equal. |
equals | protected static boolean equals(IdentifiedObject[] array1, IdentifiedObject[] array2, boolean compareMetadata)(Code) | | Compares two arrays of OpenGIS's
IdentifiedObject objects for equality. This
convenience method is provided for implementation of
equals method in subclasses.
Parameters: array1 - The first array to compare (may be null ). Parameters: array2 - The second array to compare (may be null ). Parameters: compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations. true if both arrays are equal. |
equals | protected static boolean equals(Collection collection1, Collection collection2, boolean compareMetadata)(Code) | | Compares two collectionss of OpenGIS's
IdentifiedObject objects for equality.
The comparaison take order in account, which make it more appropriate for
List or
LinkedHashSet comparaisons. This convenience method is provided for
implementation of
equals method in subclasses.
Parameters: collection1 - The first collection to compare (may be null ). Parameters: collection2 - The second collection to compare (may be null ). Parameters: compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations. true if both collections are equal. |
getIdentifier | public ReferenceIdentifier getIdentifier(Citation authority)(Code) | | Returns an identifier according the given authority. This method first checks all
in their iteration order. It returns the first
identifier with an
citation
the specified
authority.
Parameters: authority - The authority for the identifier to return, or null forthe first identifier regarless its authority. The object's identifier, or null if no identifier matching the specifiedauthority was found. since: 2.2 |
getIdentifier | public static ReferenceIdentifier getIdentifier(IdentifiedObject info, Citation authority)(Code) | | Returns an identifier according the given authority. This method performs the same search
than
AbstractIdentifiedObject.getIdentifier(Citation) on arbitrary implementations of GeoAPI interface.
Parameters: info - The object to get the identifier from. Parameters: authority - The authority for the identifier to return, or null forthe first identifier regarless its authority. The object's identifier, or null if no identifier matching the specifiedauthority was found. since: 2.2 |
getIdentifiers | public Set getIdentifiers()(Code) | | An identifier which references elsewhere the object's defining information.
Alternatively an identifier by which this object can be referenced.
This object identifiers, or an empty array if there is none. See Also: AbstractIdentifiedObject.getIdentifier(Citation) |
getName | public String getName(Citation authority)(Code) | | Returns this object's name according the given authority. This method checks first the
, then all
in their
iteration order.
If the name or alias implements the
ReferenceIdentifier interface,
then this method compares the
against the specified citation using the
Citations.identifierMatches(CitationCitation) identifierMatches method. If a matching is found, then this method returns the
of this object.
Otherwise, if the alias implements the
GenericName interface, then this
method compares the
against the specified
citation using the
method. If a matching is found, then this method returns the
of this object.
Note that alias may implement both the
ReferenceIdentifier and
GenericName interfaces (for example
NamedIdentifier ). In such cases, the identifier view has
precedence.
Parameters: authority - The authority for the name to return. The object's name (either a or a ), or null ifno name matching the specified authority was found. See Also: AbstractIdentifiedObject.getName() See Also: AbstractIdentifiedObject.getAlias() since: 2.2 |
getName | public static String getName(IdentifiedObject info, Citation authority)(Code) | | Returns an object's name according the given authority. This method performs the same search
than
AbstractIdentifiedObject.getName(Citation) on arbitrary implementations of GeoAPI interface.
Parameters: info - The object to get the name from. Parameters: authority - The authority for the name to return. The object's name (either a or a ), or null ifno name matching the specified authority was found. since: 2.2 |
getProperties | public static Map getProperties(IdentifiedObject info)(Code) | | Returns the informations provided in the specified indentified object as a map of
properties. The returned map contains key such as
AbstractIdentifiedObject.NAME_KEY NAME_KEY , and
values from methods such as
AbstractIdentifiedObject.getName .
Parameters: info - The identified object to view as a properties map. An view of the identified object as an immutable map. |
getProperties | public static Map getProperties(IdentifiedObject info, Citation authority)(Code) | | Returns the properties to be given to an identified object derived from the specified one.
This method is typically used for creating a new CRS identical to an existing one except
for axis units. This method returns the same properties than the supplied argument (as of
(info) ), except for
the following:
- The
's authority is replaced by the specified one.
- All
are removed, because the new object
to be created is probably not endorsed by the original authority.
This method returns a mutable map. Consequently, callers can add their own identifiers
directly to this map if they wish.
Parameters: info - The identified object to view as a properties map. Parameters: authority - The new authority for the object to be created, or null if itis not going to have any declared authority. An view of the identified object as a mutable map. |
getRemarks | public InternationalString getRemarks()(Code) | | Comments on or information about this object, including data source information.
|
hashCode | public int hashCode()(Code) | | Returns a hash value for this identified object.
,
and
are not taken in account. In other words, two identified objects will return
the same hash value if they are equal in the sense of
(AbstractIdentifiedObject,
false) .
The hash code value. This value doesn't need to be the samein past or future versions of this class. |
nameMatches | public boolean nameMatches(String name)(Code) | | Returns
true if either the
or at least
one
matches the specified string. This method performs
the search in the following order, regardless of any authority:
- The
of this object
- The
of an alias
- The
of an alias
Parameters: name - The name to compare. true if the primary name of at least one aliasmatches the specified name . |
nameMatches | public static boolean nameMatches(IdentifiedObject object, String name)(Code) | | Returns
true if either the
or at least
one
matches the specified string. This method performs the
same check than the
on arbitrary
object implementing the GeoAPI interface.
Parameters: object - The object to check. Parameters: name - The name. true if the primary name of at least one aliasmatches the specified name . |
nameMatches | public static boolean nameMatches(IdentifiedObject o1, IdentifiedObject o2)(Code) | | Returns
true if the
of an object matches
the primary name of one
of the other object.
Parameters: o1 - The first object to compare by name. Parameters: o2 - The second object to compare by name. since: 2.4 |
|
|