Top Description Inners Fields Constructors Methods
tech.units.indriya.spi

pack-priv abstract Class AbstractMeasurement<Q extends Quantity<Q>>

extends Object
implements Measurement<Q extends Quantity<Q>>, Comparable<Measurement<Q extends Quantity<Q>>>
Class Inheritance
All Implemented Interfaces
java.lang.Comparable, tech.units.indriya.spi.Measurement, java.io.Serializable, tech.uom.lib.common.function.QuantitySupplier
Known Direct Subclasses
tech.units.indriya.spi.AbstractMeasurement.Default, tech.units.indriya.spi.AbstractMeasurement.DefaultComparable
Imports
java.time.Instant, javax.measure.Quantity, tech.units.indriya.AbstractUnit, .ComparableQuantity, tech.uom.lib.common.util.NumberComparator

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

All instances of this class shall be immutable.

Author
Werner Keil
Version
1.0 $Date: 2019-08-21 $

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
AbstractMeasurement.Default<Q extends Quantity<Q>>

This class represents the default measurement.

pack-priv static class
AbstractMeasurement.DefaultComparable<Q extends Quantity<Q>>

This class represents the default measurement.

Field Summary

Modifier and TypeField and Description
private final Instant
private final Quantity<Q>
private static final long

Constructor Summary

AccessConstructor and Description
protected
AbstractMeasurement(Quantity<Q> q, Instant i)

constructor.

protected
AbstractMeasurement(Quantity<Q> q, long t)

constructor.

protected
AbstractMeasurement(Quantity<Q> q)

constructor.

Method Summary

Modifier and TypeMethod and Description
public boolean
equals(Object
the reference object with which to compare.
o
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public final Instant

Returns:

the instant.
getInstant
()

Implements tech.units.indriya.spi.Measurement.getInstant.

Returns the measurement instant.

public Quantity<Q>

Returns:

the quantity.
getQuantity
()

Implements tech.uom.lib.common.function.QuantitySupplier.getQuantity.

Returns the measurement quantity.

public final long

Returns:

the timestamp.
getTimestamp
()

Implements tech.units.indriya.spi.Measurement.getTimestamp.

Returns the measurement timestamp.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

instantback to summary
private final Instant instant
quantityback to summary
private final Quantity<Q> quantity
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

AbstractMeasurementback to summary
protected AbstractMeasurement(Quantity<Q> q, Instant i)

constructor.

AbstractMeasurementback to summary
protected AbstractMeasurement(Quantity<Q> q, long t)

constructor.

AbstractMeasurementback to summary
protected AbstractMeasurement(Quantity<Q> q)

constructor.

Method Detail

equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getInstantback to summary
public final Instant getInstant()

Implements tech.units.indriya.spi.Measurement.getInstant.

Returns the measurement instant.

Returns:Instant

the instant.

getQuantityback to summary
public Quantity<Q> getQuantity()

Implements tech.uom.lib.common.function.QuantitySupplier.getQuantity.

Returns the measurement quantity.

Returns:Quantity<Q>

the quantity.

getTimestampback to summary
public final long getTimestamp()

Implements tech.units.indriya.spi.Measurement.getTimestamp.

Returns the measurement timestamp.

Returns:long

the timestamp.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
tech.units.indriya.spi back to summary

pack-priv final Class AbstractMeasurement.Default<Q extends Quantity<Q>>

extends AbstractMeasurement<Q extends Quantity<Q>>
Class Inheritance
Annotations
@SuppressWarnings:rawtypes

This class represents the default measurement.

Field Summary

Modifier and TypeField and Description
private static final long

Constructor Summary

AccessConstructor and Description
protected
Default(Quantity<Q extends Quantity<Q>> q, Instant i)

protected
Default(Quantity<Q extends Quantity<Q>> q, long t)

protected
Default(Quantity<Q extends Quantity<Q>> q)

Method Summary

Modifier and TypeMethod and Description
public int
compareTo(Measurement<Q>
the object to be compared.
m
)

Implements java.lang.Comparable.compareTo.

Compares this object with the specified object for order.

Inherited from tech.units.indriya.spi.AbstractMeasurement:
equalsgetInstantgetQuantitygetTimestamphashCodetoString

Field Detail

serialVersionUIDback to summary
private static final long serialVersionUID

Hides tech.units.indriya.spi.AbstractMeasurement.serialVersionUID.

Constructor Detail

Defaultback to summary
protected Default(Quantity<Q extends Quantity<Q>> q, Instant i)
Annotations
@SuppressWarnings:unchecked
Defaultback to summary
protected Default(Quantity<Q extends Quantity<Q>> q, long t)
Annotations
@SuppressWarnings:unchecked
Defaultback to summary
protected Default(Quantity<Q extends Quantity<Q>> q)
Annotations
@SuppressWarnings:unchecked

Method Detail

compareToback to summary
public int compareTo(Measurement<Q> m)

Implements java.lang.Comparable.compareTo.

Doc from java.lang.Comparable.compareTo.

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

Parameters
m:Measurement<Q>

the object to be compared.

Returns:int

a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Annotations
@SuppressWarnings:unchecked
@Override
tech.units.indriya.spi back to summary

pack-priv final Class AbstractMeasurement.DefaultComparable<Q extends Quantity<Q>>

extends AbstractMeasurement<Q extends Quantity<Q>>
Class Inheritance
Annotations
@SuppressWarnings:rawtypes

This class represents the default measurement.

Field Summary

Modifier and TypeField and Description
private static final long

Constructor Summary

AccessConstructor and Description
protected
protected
protected

Method Summary

Modifier and TypeMethod and Description
public int
compareTo(Measurement<Q>
the object to be compared.
m
)

Implements java.lang.Comparable.compareTo.

Compares this object with the specified object for order.

public ComparableQuantity<Q>
Inherited from tech.units.indriya.spi.AbstractMeasurement:
equalsgetInstantgetTimestamphashCodetoString

Field Detail

serialVersionUIDback to summary
private static final long serialVersionUID

Hides tech.units.indriya.spi.AbstractMeasurement.serialVersionUID.

Constructor Detail

DefaultComparableback to summary
protected DefaultComparable(ComparableQuantity<Q extends Quantity<Q>> q, Instant i)
Annotations
@SuppressWarnings:unchecked
DefaultComparableback to summary
protected DefaultComparable(ComparableQuantity<Q extends Quantity<Q>> q, long t)
Annotations
@SuppressWarnings:unchecked
DefaultComparableback to summary
protected DefaultComparable(ComparableQuantity<Q extends Quantity<Q>> q)
Annotations
@SuppressWarnings:unchecked

Method Detail

compareToback to summary
public int compareTo(Measurement<Q> m)

Implements java.lang.Comparable.compareTo.

Doc from java.lang.Comparable.compareTo.

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

Parameters
m:Measurement<Q>

the object to be compared.

Returns:int

a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Annotations
@Override
getQuantityback to summary
public ComparableQuantity<Q> getQuantity()

Overrides tech.units.indriya.spi.AbstractMeasurement.getQuantity.

Implements tech.uom.lib.common.function.QuantitySupplier.getQuantity.

Doc from tech.units.indriya.spi.AbstractMeasurement.getQuantity.

Returns the measurement quantity.

Returns:ComparableQuantity<Q>

the quantity.

Annotations
@Override