Top Description Fields Constructors Methods
tech.units.indriya.quantity

public Class QuantityRange<Q extends Quantity<Q>>

extends Object
implements Range<Quantity<Q extends Quantity<Q>>>
Class Inheritance
All Implemented Interfaces
tech.units.indriya.spi.Range, tech.uom.lib.common.function.MaximumSupplier, tech.uom.lib.common.function.MinimumSupplier
Type Parameters
<Q>
The value of the range.
Imports
java.util.Objects, javax.measure.Quantity, tech.units.indriya.ComparableQuantity, tech.units.indriya.spi.Range

A Quantity Range is a pair of Quantity items that represent a Range of values.

Range limits MUST be presented in the same scale and have the same unit as measured data values.
Subclasses of QuantityRange should be final and immutable.

Author
Werner Keil
Version
2.1, Dec 7, 2023
See Also
SensorML: QuantityRange

Field Summary

Modifier and TypeField and Description
private final Quantity<Q>
private final Quantity<Q>
private Quantity<Q>

Constructor Summary

AccessConstructor and Description
protected
QuantityRange(Quantity<Q>
The minimum value for the range.
minimum
,
Quantity<Q>
The maximum value for the range.
maximum
,
Quantity<Q>
The resolution of the range.
resolution
)

Construct an instance of QuantityRange with a min, max and res value.

protected

Method Summary

Modifier and TypeMethod and Description
public boolean
contains(final Quantity<Q> q)

Implements tech.units.indriya.spi.Range.contains.

Checks whether the given T is within this range

public boolean
equals(final Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

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

private boolean
private boolean
public Quantity<Q>
getMaximum()

Implements tech.units.indriya.spi.Range.getMaximum.

Returns the largest value of the range.

public Quantity<Q>
getMinimum()

Implements tech.units.indriya.spi.Range.getMinimum.

Returns the smallest value of the range.

public Quantity<Q>
getResolution()

Implements tech.units.indriya.spi.Range.getResolution.

Returns the resolution of the range.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean
hasMaximum()

Implements tech.units.indriya.spi.Range.hasMaximum.

Method to easily check if getMaximum() is not null.

public boolean
hasMinimum()

Implements tech.units.indriya.spi.Range.hasMinimum.

Method to easily check if getMinimum() is not null.

private boolean
private boolean
private static boolean
isCompatibleQuantityPair(final Quantity<Q extends Quantity<Q>> q1, final Quantity<Q extends Quantity<Q>> q2)

private static boolean
isCompatibleQuantityTriple(final Quantity<Q extends Quantity<Q>> q1, final Quantity<Q extends Quantity<Q>> q2, final Quantity<Q extends Quantity<Q>> q3)

public static QuantityRange<Q extends Quantity<Q>>

Returns:

an QuantityRange with the given values
of
(Quantity<Q extends Quantity<Q>>
The minimum value for the quantity range.
minimum
,
Quantity<Q extends Quantity<Q>>
The maximum value for the quantity range.
maximum
,
Quantity<Q extends Quantity<Q>>
The resolution of the quantity range.
resolution
)

Returns an QuantityRange with the specified values.

public static QuantityRange<Q extends Quantity<Q>>

Returns:

a QuantityRange with the given values
of
(Quantity<Q extends Quantity<Q>>
The minimum value for the quantity range.
minimum
,
Quantity<Q extends Quantity<Q>>
The maximum value for the quantity range.
maximum
)

Returns an QuantityRange with the specified values.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

maxback to summary
private final Quantity<Q> max
minback to summary
private final Quantity<Q> min
resback to summary
private Quantity<Q> res

Constructor Detail

QuantityRangeback to summary
protected QuantityRange(Quantity<Q> minimum, Quantity<Q> maximum, Quantity<Q> resolution)

Construct an instance of QuantityRange with a min, max and res value.

Parameters
minimum:Quantity<Q>

The minimum value for the range.

maximum:Quantity<Q>

The maximum value for the range.

resolution:Quantity<Q>

The resolution of the range.

QuantityRangeback to summary
protected QuantityRange(Quantity<Q> min, Quantity<Q> max)

Method Detail

containsback to summary
public boolean contains(final Quantity<Q> q)

Implements tech.units.indriya.spi.Range.contains.

Doc from tech.units.indriya.spi.Range.contains.

Checks whether the given T is within this range

Returns:boolean

true if the value is within the range

Annotations
@Override
equalsback to summary
public boolean equals(final Object obj)

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
obj: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
fulfillsMaximumConstraintback to summary
private boolean fulfillsMaximumConstraint(final Quantity<Q> q)
fulfillsMinimumConstraintback to summary
private boolean fulfillsMinimumConstraint(final Quantity<Q> q)
getMaximumback to summary
public Quantity<Q> getMaximum()

Implements tech.units.indriya.spi.Range.getMaximum.

Doc from tech.units.indriya.spi.Range.getMaximum.

Returns the largest value of the range. The value is the same as that given as the constructor parameter for the largest value.

Returns:Quantity<Q>

the maximum value

Annotations
@Override
getMinimumback to summary
public Quantity<Q> getMinimum()

Implements tech.units.indriya.spi.Range.getMinimum.

Doc from tech.units.indriya.spi.Range.getMinimum.

Returns the smallest value of the range. The value is the same as that given as the constructor parameter for the smallest value.

Returns:Quantity<Q>

the minimum value

Annotations
@Override
getResolutionback to summary
public Quantity<Q> getResolution()

Implements tech.units.indriya.spi.Range.getResolution.

Doc from tech.units.indriya.spi.Range.getResolution.

Returns the resolution of the range. The value is the same as that given as the constructor parameter for the largest value.

Returns:Quantity<Q>

resolution of the range, the value is the same as that given as the constructor parameter for the resolution

Annotations
@Override
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
hasMaximumback to summary
public boolean hasMaximum()

Implements tech.units.indriya.spi.Range.hasMaximum.

Doc from tech.units.indriya.spi.Range.hasMaximum.

Method to easily check if getMaximum() is not null.

Returns:boolean

true if getMaximum() is not null.

Annotations
@Override
hasMinimumback to summary
public boolean hasMinimum()

Implements tech.units.indriya.spi.Range.hasMinimum.

Doc from tech.units.indriya.spi.Range.hasMinimum.

Method to easily check if getMinimum() is not null.

Returns:boolean

true if getMinimum() is not null .

Annotations
@Override
isAboveMinimumback to summary
private boolean isAboveMinimum(final Quantity<Q> q)
isBelowMaximumback to summary
private boolean isBelowMaximum(final Quantity<Q> q)
isCompatibleQuantityPairback to summary
private static boolean isCompatibleQuantityPair(final Quantity<Q extends Quantity<Q>> q1, final Quantity<Q extends Quantity<Q>> q2)
Annotations
@SuppressWarnings:rawtypes, unchecked
isCompatibleQuantityTripleback to summary
private static boolean isCompatibleQuantityTriple(final Quantity<Q extends Quantity<Q>> q1, final Quantity<Q extends Quantity<Q>> q2, final Quantity<Q extends Quantity<Q>> q3)
Annotations
@SuppressWarnings:rawtypes
ofback to summary
public static QuantityRange<Q extends Quantity<Q>> of(Quantity<Q extends Quantity<Q>> minimum, Quantity<Q extends Quantity<Q>> maximum, Quantity<Q extends Quantity<Q>> resolution)

Returns an QuantityRange with the specified values.

Parameters
minimum:Quantity<Q extends Quantity<Q>>

The minimum value for the quantity range.

maximum:Quantity<Q extends Quantity<Q>>

The maximum value for the quantity range.

resolution:Quantity<Q extends Quantity<Q>>

The resolution of the quantity range.

Returns:QuantityRange<Q extends Quantity<Q>>

an QuantityRange with the given values

Annotations
@SuppressWarnings:rawtypes, unchecked
ofback to summary
public static QuantityRange<Q extends Quantity<Q>> of(Quantity<Q extends Quantity<Q>> minimum, Quantity<Q extends Quantity<Q>> maximum)

Returns an QuantityRange with the specified values.

Parameters
minimum:Quantity<Q extends Quantity<Q>>

The minimum value for the quantity range.

maximum:Quantity<Q extends Quantity<Q>>

The maximum value for the quantity range.

Returns:QuantityRange<Q extends Quantity<Q>>

a QuantityRange with the given values

Annotations
@SuppressWarnings:rawtypes, unchecked
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