Class AbstractMeasurement<Q extends javax.measure.Quantity<Q>>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Measurement<Q>>, Measurement<Q>, tech.uom.lib.common.function.QuantitySupplier<Q>
    Direct Known Subclasses:
    AbstractMeasurement.Default, AbstractMeasurement.DefaultComparable

    abstract class AbstractMeasurement<Q extends javax.measure.Quantity<Q>>
    extends java.lang.Object
    implements Measurement<Q>, java.lang.Comparable<Measurement<Q>>

    This class represents the immutable result of a measurement stated in a known quantity.

    All instances of this class shall be immutable.

    Version:
    0.4 $Date: 2016-10-15 $
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  AbstractMeasurement.Default<Q extends javax.measure.Quantity<Q>>
      This class represents the default measurement.
      (package private) static class  AbstractMeasurement.DefaultComparable<Q extends javax.measure.Quantity<Q>>
      This class represents the default measurement.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.time.Instant instant  
      private javax.measure.Quantity<Q> quantity  
      private static long serialVersionUID  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractMeasurement​(javax.measure.Quantity<Q> q)
      constructor.
      protected AbstractMeasurement​(javax.measure.Quantity<Q> q, long t)
      constructor.
      protected AbstractMeasurement​(javax.measure.Quantity<Q> q, java.time.Instant i)
      constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)  
      java.time.Instant getInstant()
      Returns the measurement instant.
      javax.measure.Quantity<Q> getQuantity()
      Returns the measurement quantity.
      long getTimestamp()
      Returns the measurement timestamp.
      int hashCode()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Comparable

        compareTo
    • Field Detail

      • quantity

        private final javax.measure.Quantity<Q extends javax.measure.Quantity<Q>> quantity
      • instant

        private final java.time.Instant instant
    • Constructor Detail

      • AbstractMeasurement

        protected AbstractMeasurement​(javax.measure.Quantity<Q> q,
                                      java.time.Instant i)
        constructor.
      • AbstractMeasurement

        protected AbstractMeasurement​(javax.measure.Quantity<Q> q,
                                      long t)
        constructor.
      • AbstractMeasurement

        protected AbstractMeasurement​(javax.measure.Quantity<Q> q)
        constructor.
    • Method Detail

      • getQuantity

        public javax.measure.Quantity<Q> getQuantity()
        Returns the measurement quantity.
        Specified by:
        getQuantity in interface tech.uom.lib.common.function.QuantitySupplier<Q extends javax.measure.Quantity<Q>>
        Returns:
        the quantity.
      • getInstant

        public final java.time.Instant getInstant()
        Returns the measurement instant.
        Specified by:
        getInstant in interface Measurement<Q extends javax.measure.Quantity<Q>>
        Returns:
        the instant.
      • getTimestamp

        public final long getTimestamp()
        Returns the measurement timestamp.
        Specified by:
        getTimestamp in interface Measurement<Q extends javax.measure.Quantity<Q>>
        Returns:
        the timestamp.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object