Class DefaultTemporalDatum

All Implemented Interfaces:
Serializable, Formattable, Deprecable, LenientComparable, org.opengis.referencing.datum.Datum, org.opengis.referencing.datum.TemporalDatum, org.opengis.referencing.IdentifiedObject

public class DefaultTemporalDatum extends AbstractDatum implements org.opengis.referencing.datum.TemporalDatum
Defines the origin of a temporal coordinate reference system.

Creating new temporal datum instances

New instances can be created either directly by specifying all information to a factory method (choices 3 and 4 below), or indirectly by specifying the identifier of an entry in a database (choices 1 and 2 below). Choice 1 in the following list is the easiest but most restrictive way to get a temporal datum. The other choices provide more freedom.
  1. Create a TemporalDatum from one of the static convenience shortcuts listed in CommonCRS.Temporal.datum().
  2. Create a TemporalDatum from an identifier in a database by invoking DatumAuthorityFactory.createTemporalDatum(String).
  3. Create a TemporalDatum by invoking the DatumFactory.createTemporalDatum(…) method, (implemented for example by GeodeticObjectFactory).
  4. Create a DefaultTemporalDatum by invoking the constructor.
Example: the following code gets a temporal datum having its origin at January 1st, 4713 BC at 12:00 UTC:

Immutability and thread safety

This class is immutable and thus thread-safe if the property values (not necessarily the map itself) given to the constructor are also immutable. Unless otherwise noted in the javadoc, this condition holds if all components were created using only SIS factories and static constants.
Since:
0.4
Version:
0.5
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serial number for inter-operability with different versions.
      See Also:
    • origin

      private long origin
      The date and time origin of this temporal datum, or Long.MIN_VALUE if none. This information is mandatory, but SIS is tolerant to missing value is case a XML fragment was incomplete.

      Consider this field as final! This field is modified only at unmarshalling time by setOrigin(Date)

  • Constructor Details

  • Method Details

    • castOrCopy

      public static DefaultTemporalDatum castOrCopy(org.opengis.referencing.datum.TemporalDatum object)
      Returns a SIS datum implementation with the same values than the given arbitrary implementation. If the given object is null, then this method returns null. Otherwise if the given object is already a SIS implementation, then the given object is returned unchanged. Otherwise a new SIS implementation is created and initialized to the attribute values of the given object.
      Parameters:
      object - the object to get as a SIS implementation, or null if none.
      Returns:
      a SIS implementation containing the values of the given object (may be the given object itself), or null if the argument was null.
    • getInterface

      public Class<? extends org.opengis.referencing.datum.TemporalDatum> getInterface()
      Returns the GeoAPI interface implemented by this class. The SIS implementation returns TemporalDatum.class.
      Note for implementers: Subclasses usually do not need to override this method since GeoAPI does not define TemporalDatum sub-interface. Overriding possibility is left mostly for implementers who wish to extend GeoAPI with their own set of interfaces.
      Overrides:
      getInterface in class AbstractDatum
      Returns:
      TemporalDatum.class or a user-defined sub-interface.
    • getOrigin

      public Date getOrigin()
      Returns the date and time origin of this temporal datum.
      Specified by:
      getOrigin in interface org.opengis.referencing.datum.TemporalDatum
      Returns:
      the date and time origin of this temporal datum.
    • equals

      public boolean equals(Object object, ComparisonMode mode)
      Compares this temporal datum with the specified object for equality.
      Specified by:
      equals in interface LenientComparable
      Overrides:
      equals in class AbstractDatum
      Parameters:
      object - the object to compare to this.
      mode - STRICT for performing a strict comparison, or IGNORE_METADATA for comparing only properties relevant to coordinate transformations.
      Returns:
      true if both objects are equal.
      See Also:
    • computeHashCode

      protected long computeHashCode()
      Invoked by hashCode() for computing the hash code when first needed. See AbstractIdentifiedObject.computeHashCode() for more information.
      Overrides:
      computeHashCode in class AbstractDatum
      Returns:
      the hash code value. This value may change in any future Apache SIS version.
    • formatTo

      protected String formatTo(Formatter formatter)
      Formats this datum as a Well Known Text TimeDatum[…] element.
      Compatibility note: TimeDatum is defined in the WKT 2 specification only.
      Overrides:
      formatTo in class AbstractDatum
      Parameters:
      formatter - the formatter where to format the inner content of this WKT element.
      Returns:
      "TimeDatum".
      See Also:
    • setOrigin

      private void setOrigin(Date value)
      Invoked by JAXB only at unmarshalling time.
      See Also: