U - The unit corresponding with the type e.g., Length specifies LengthUnit.T - This type. Note this type is recursive to enforce type-safety, normally the complicated generics are not
exposed to users of the library e.g., see the Length measure.public abstract class AbstractMeasure<U extends Unit<T,U>,T extends AbstractMeasure<U,T>> extends Object implements Dimension<T>, Sequential<T,manifold.science.util.Rational,U>
Length,
Velocity, Mass, etc. for examples.
Instances of this class store the value (or magnitude) of the measure in terms of base units. Thus all arithmetic on
measures is performed using Base units, which permits measures of differing input units to work in calculations. A
measure instance also maintains a "display unit", which is used for display purposes and for working with other
systems requiring specific units.
ComparableUsing.EqualityMode, ComparableUsing.Operator| Constructor and Description |
|---|
AbstractMeasure(manifold.science.util.Rational value,
U unit,
U displayUnit) |
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(T that) |
T |
copy(manifold.science.util.Rational value)
Given a value produce a copy of this dimension with the given value
|
T |
copy(U dsiplayUnit)
Copies this instance with a new display unit.
|
manifold.science.util.Rational |
div(T operand) |
ComparableUsing.EqualityMode |
equalityMode()
Use
#compareTo(T) to implement the == operator as it does not take into account the
_displayUnit which is inconsequential wrt the measure. |
boolean |
equals(Object o) |
T |
fromBaseNumber(manifold.science.util.Rational p0) |
T |
fromNumber(manifold.science.util.Rational p0) |
abstract U |
getBaseUnit()
The unit on which all instances of this type are based.
|
U |
getDisplayUnit() |
manifold.science.util.Rational |
getValue() |
int |
hashCode() |
abstract T |
make(manifold.science.util.Rational value,
U unit)
Creates a new instance using the specified parameters.
|
abstract T |
make(manifold.science.util.Rational value,
U unit,
U displayUnit)
Creates a new instance using the specified parameters.
|
T |
minus(T operand) |
T |
nextInSequence(manifold.science.util.Rational step,
U unit) |
T |
nextNthInSequence(manifold.science.util.Rational step,
U unit,
int index) |
T |
plus(T operand) |
T |
previousInSequence(manifold.science.util.Rational step,
U unit) |
T |
previousNthInSequence(manifold.science.util.Rational step,
U unit,
int index) |
manifold.science.util.Rational |
rem(T operand) |
T |
to(U displayUnit)
Copy this measure using the specified
displayUnit. |
manifold.science.util.Rational |
toBaseNumber() |
String |
toMixedString() |
manifold.science.util.Rational |
toNumber() |
manifold.science.util.Rational |
toNumber(U unit)
Get the magnitude of this measure in terms of the specified
unit. |
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitdiv, rem, times, unaryMinuscompareToUsingpublic AbstractMeasure(manifold.science.util.Rational value, U unit, U displayUnit)
value - The value (or magnitude) of this measure instanceunit - The unit corresponding to the provided valuedisplayUnit - The unit in which to display this measurepublic abstract U getBaseUnit()
Length dimension might use Meters
as the base unit because it is the SI standard.public abstract T make(manifold.science.util.Rational value, U unit, U displayUnit)
public abstract T make(manifold.science.util.Rational value, U unit)
public T copy(manifold.science.util.Rational value)
Dimensionpublic manifold.science.util.Rational getValue()
public U getDisplayUnit()
public T fromNumber(manifold.science.util.Rational p0)
fromNumber in interface Dimension<T extends AbstractMeasure<U,T>>value.public T fromBaseNumber(manifold.science.util.Rational p0)
public manifold.science.util.Rational toNumber()
public manifold.science.util.Rational toBaseNumber()
toBaseNumber in interface Dimension<T extends AbstractMeasure<U,T>>public manifold.science.util.Rational toNumber(U unit)
unit.public String toMixedString()
"2 1/8 kg"public ComparableUsing.EqualityMode equalityMode()
#compareTo(T) to implement the == operator as it does not take into account the
_displayUnit which is inconsequential wrt the measure.equalityMode in interface ComparableUsing<T extends AbstractMeasure<U,T>>public int compareTo(T that)
compareTo in interface Comparable<T extends AbstractMeasure<U,T>>public T nextInSequence(manifold.science.util.Rational step, U unit)
nextInSequence in interface Sequential<T extends AbstractMeasure<U,T>,manifold.science.util.Rational,U extends Unit<T,U>>public T nextNthInSequence(manifold.science.util.Rational step, U unit, int index)
nextNthInSequence in interface Sequential<T extends AbstractMeasure<U,T>,manifold.science.util.Rational,U extends Unit<T,U>>public T previousInSequence(manifold.science.util.Rational step, U unit)
previousInSequence in interface Sequential<T extends AbstractMeasure<U,T>,manifold.science.util.Rational,U extends Unit<T,U>>public T previousNthInSequence(manifold.science.util.Rational step, U unit, int index)
previousNthInSequence in interface Sequential<T extends AbstractMeasure<U,T>,manifold.science.util.Rational,U extends Unit<T,U>>public manifold.science.util.Rational div(T operand)
public manifold.science.util.Rational rem(T operand)
Copyright © 2021. All rights reserved.