Class TimedData<T>

java.lang.Object
tech.units.indriya.quantity.time.TimedData<T>
Type Parameters:
T - The data value.
All Implemented Interfaces:
Supplier<T>, tech.uom.lib.common.function.Nameable

public class TimedData<T> extends Object implements tech.uom.lib.common.function.Nameable, Supplier<T>
TimedData is a container for a data value that keeps track of its age. This class keeps track of the birth time of a bit of data, i.e. time the object is instantiated.
The TimedData MUST be immutable.
Version:
0.5
See Also:
  • Field Details

    • value

      private final T value
    • timestamp

      private final long timestamp
    • instant

      private final Instant instant
    • name

      private String name
  • Constructor Details

    • TimedData

      protected TimedData(T value, long time)
      Construct an instance of TimedData with a value and timestamp.
      Parameters:
      data - The value of the TimedData.
      time - The timestamp of the TimedData.
  • Method Details

    • of

      public static <T> TimedData<T> of(T val, long time)
      Returns an MeasurementRange with the specified values.
      Type Parameters:
      T - the class of the value
      Parameters:
      val - The minimum value for the measurement range.
      time - The maximum value for the measurement range.
      Returns:
      an MeasurementRange with the given values
    • getTimestamp

      public long getTimestamp()
      Returns the time with which this TimedData was created.
      Returns:
      the time of creation
    • getName

      public String getName()
      Specified by:
      getName in interface tech.uom.lib.common.function.Nameable
    • get

      public T get()
      Specified by:
      get in interface Supplier<T>
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class Object
    • getInstant

      public Instant getInstant()