Interface IdentifiedObject

All Known Implementing Classes:
Abstract­Completeness, Abstract­Content­Information, Abstract­Data­Evaluation, Abstract­Element, Abstract­Geographic­Extent, Abstract­Geolocation­Information, Abstract­Identification, Abstract­Logical­Consistency, Abstract­Metaquality, Abstract­Party, Abstract­Positional­Accuracy, Abstract­Result, Abstract­Spatial­Representation, Abstract­Temporal­Accuracy, Abstract­Temporal­Quality, Abstract­Thematic­Accuracy, Default­Absolute­External­Positional­Accuracy, Default­Accuracy­Of­ATime­Measurement, Default­Acquisition­Information, Default­Address, Default­Aggregate­Information, Default­Aggregation­Derivation, Default­Algorithm, Default­Application­Schema­Information, Default­Associated­Resource, Default­Attribute­Group, Default­Band, Default­Basic­Measure, Default­Bounding­Polygon, Default­Browse­Graphic, Default­Citation, Default­Citation­Date, Default­Completeness­Commission, Default­Completeness­Omission, Default­Conceptual­Consistency, Default­Confidence, Default­Conformance­Result, Default­Constraints, Default­Contact, Default­Coupled­Resource, Default­Coverage­Description, Default­Coverage­Result, Default­Data­File, Default­Data­Identification, Default­Data­Quality, Default­Descriptive­Result, Default­Digital­Transfer­Options, Default­Dimension, Default­Distribution, Default­Distributor, Default­Domain­Consistency, Default­Environmental­Record, Default­Evaluation­Method, Default­Evaluation­Report­Information, Default­Event, Default­Extended­Element­Information, Default­Extent, Default­Feature­Catalogue­Description, Default­Feature­Type­Info, Default­Format, Default­Format­Consistency, Default­Full­Inspection, Default­GCP, Default­GCPCollection, Default­Geographic­Bounding­Box, Default­Geographic­Description, Default­Geometric­Objects, Default­Georectified, Default­Georeferenceable, Default­Gridded­Data­Positional­Accuracy, Default­Grid­Spatial­Representation, Default­Homogeneity, Default­Identifier, Default­Image­Description, Default­Indirect­Evaluation, Default­Individual, Default­Instrument, Default­Keyword­Class, Default­Keywords, Default­Legal­Constraints, Default­Lineage, Default­Maintenance­Information, Default­Measure­Description, Default­Measure­Reference, Default­Medium, Default­Metadata, Default­Metadata­Extension­Information, Default­Metadata­Scope, Default­Nominal­Resolution, Default­Non­Quantitative­Attribute­Accuracy, Default­Non­Quantitative­Attribute­Correctness, Default­Objective, Default­Online­Resource, Default­Operation, Default­Operation­Chain­Metadata, Default­Operation­Metadata, Default­Organisation, Default­Plan, Default­Platform, Default­Platform­Pass, Default­Portrayal­Catalogue­Reference, Default­Processing, Default­Process­Step, Default­Process­Step­Report, Default­Quality­Measure, Default­Quantitative­Attribute­Accuracy, Default­Quantitative­Result, Default­Range­Dimension, Default­Range­Element­Description, Default­Relative­Internal­Positional­Accuracy, Default­Releasability, Default­Representative­Fraction, Default­Representativity, Default­Requested­Date, Default­Requirement, Default­Resolution, Default­Responsibility, Default­Responsible­Party, Default­Sample­Based­Inspection, Default­Sample­Dimension, Default­Scope, Default­Scope, Default­Scope­Description, Default­Security­Constraints, Default­Series, Default­Service­Identification, Default­Source, Default­Source­Reference, Default­Spatial­Temporal­Extent, Default­Standard­Order­Process, Default­Telephone, Default­Temporal­Consistency, Default­Temporal­Extent, Default­Temporal­Validity, Default­Thematic­Classification­Correctness, Default­Topological­Consistency, Default­Usability, Default­Usage, Default­Vector­Spatial­Representation, Default­Vertical­Extent, ISOMetadata

public interface IdentifiedObject
The interface for all SIS objects having identifiers. Identifiers are String in a namespace identified by a Citation. The namespace can be some organization like EPSG for Coordinate Reference System objects, or a well-known acronym like ISBN for International Standard Book Number.

When an identified object is marshalled in a ISO 19115-3 compliant XML document, some identifiers are handled in a special way: they appear as gml:id, gco:uuid or xlink:href attributes of the XML element. Those identifiers can be specified using the Identifier­Space enum values as below:

IdentifiedObject object = ...;
object.getIdentifierMap().put(IdentifierSpace.ID, "myID");

Relationship with GeoAPI

Identifiers exist also in some (not all) GeoAPI objects. Some GeoAPI objects (Instrument, Platform, Operation, Processing, etc.) have an explicit single identifier attribute, while other GeoAPI objects (Citation, Objective, referencing Identified­Object, etc.) allow an arbitrary number of identifiers. However, GeoAPI does not define explicit methods for handling the id, uuid or href attributes, since they are specific to XML marshalling (they do not appear in OGC/ISO abstract specifications). This Identified­Object interface provides a way to handle those identifiers.

Note that GeoAPI defines a similar interface, also named Identified­Object. However, that GeoAPI interface is not of general use, since it contains methods like to­WKT() that are specific to referencing or geometric objects. In addition, the GeoAPI interface defines some attributes (name, alias, remarks) that are not needed for the purpose of handling XML id, uuid or href attributes.

Since:
0.3
See Also:
  • Method Details

    • getIdentifiers

      Collection<? extends Identifier> getIdentifiers()
      Returns all identifiers associated to this object. Each identifier code shall be unique in the identifier authority name space. Examples of namespace are:
      • EPSG codes
      • Universal Product Code (UPC)
      • National Stock Number (NSN)
      • International Standard Book Number (ISBN)
      • International Standard Serial Number (ISSN)
      • Universally Unique Identifier (UUID)
      • XML ID attribute
      • XLink (href, role, arcrole, title, show and actuate attributes)
      Note that XML ID attribute are actually unique only in the scope of the XML document being processed.
      Returns:
      all identifiers associated to this object, or an empty collection if none.
      See Also:
    • getIdentifierMap

      IdentifierMap getIdentifierMap()
      A map view of the identifiers collection as (authority, code) entries. Each map entry is associated to an element from the above identifier collection in which the key is the identifier authority and the value is the identifier code.

      There is usually a one-to-one relationship between the map entries and the identifier elements, but not always:

      • The map view may contain less entries, because the map interface allows only one entry per authority. If the identifier collection contains many identifiers for the same authority, then only the first occurrence is visible through this Map view.
      • The map view may also contain more entries than the identifier collection. For example, the Citation interface defines separated attributes for ISBN, ISSN and other identifiers. This map view may choose to unify all those attributes in a single view.
      The map supports put operations if and only if this Identified­Object is modifiable.
      Returns:
      the identifiers as a map of (authority, code) entries, or an empty map if none.