Package javax.measure
Interface Quantity<Q extends Quantity<Q>>
-
- Type Parameters:
Q
- The type of the quantity.
- All Known Subinterfaces:
Acceleration
,AmountOfSubstance
,Angle
,Area
,CatalyticActivity
,Dimensionless
,ElectricCapacitance
,ElectricCharge
,ElectricConductance
,ElectricCurrent
,ElectricInductance
,ElectricPotential
,ElectricResistance
,Energy
,Force
,Frequency
,Illuminance
,Length
,LuminousFlux
,LuminousIntensity
,MagneticFlux
,MagneticFluxDensity
,Mass
,Power
,Pressure
,RadiationDoseAbsorbed
,RadiationDoseEffective
,Radioactivity
,SolidAngle
,Speed
,Temperature
,Time
,Volume
public interface Quantity<Q extends Quantity<Q>>
Represents a quantitative property of a phenomenon, body, or substance, that can be quantified by measurement.Mass
, time, distance, heat, and angular separation are among the familiar examples of quantitative properties.Unit<Mass> pound = ... Quantity<Length> size = ... Sensor<Temperature>
thermometer = ... Vector3D<Speed> aircraftSpeed = ...- Since:
- 1.0
- Version:
- 1.0, August 8, 2016
- See Also:
Unit
, Wikipedia: Quantity, Martin Fowler - Quantity
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Quantity<Q>
add(Quantity<Q> augend)
Returns the sum of thisQuantity
with the one specified.<T extends Quantity<T>>
Quantity<T>asType(java.lang.Class<T> type)
Casts this quantity to a parameterized unit of specified nature or throw aClassCastException
if the dimension of the specified quantity and this measure unit's dimension do not match.Quantity<Q>
divide(java.lang.Number divisor)
Returns the product of thisQuantity
divided by theNumber
specified.Quantity<?>
divide(Quantity<?> divisor)
Returns the product of thisQuantity
divided by theQuantity
specified.Unit<Q>
getUnit()
Returns the unit of thisQuantity
.java.lang.Number
getValue()
Returns the value of thisQuantity
.Quantity<?>
inverse()
Returns aQuantity
whose unit isunit.inverse()
.Quantity<Q>
multiply(java.lang.Number multiplier)
Returns the product of thisQuantity
with theNumber
value specified.Quantity<?>
multiply(Quantity<?> multiplier)
Returns the product of thisQuantity
with the one specified.Quantity<Q>
subtract(Quantity<Q> subtrahend)
Returns the difference between thisQuantity
and the one specified.Quantity<Q>
to(Unit<Q> unit)
Returns thisQuantity
converted into another (compatible)Unit
.
-
-
-
Method Detail
-
add
Quantity<Q> add(Quantity<Q> augend)
Returns the sum of thisQuantity
with the one specified.- Parameters:
augend
- theQuantity
to be added.- Returns:
this + augend
.
-
subtract
Quantity<Q> subtract(Quantity<Q> subtrahend)
Returns the difference between thisQuantity
and the one specified.- Parameters:
subtrahend
- theQuantity
to be subtracted.- Returns:
this - that
.
-
divide
Quantity<?> divide(Quantity<?> divisor)
Returns the product of thisQuantity
divided by theQuantity
specified.- Parameters:
divisor
- theQuantity
divisor.- Returns:
this / that
.- Throws:
java.lang.ClassCastException
- if the type of an element in the specified operation is incompatible with this quantity (optional)
-
divide
Quantity<Q> divide(java.lang.Number divisor)
Returns the product of thisQuantity
divided by theNumber
specified.- Parameters:
divisor
- theNumber
divisor.- Returns:
this / that
.
-
multiply
Quantity<?> multiply(Quantity<?> multiplier)
Returns the product of thisQuantity
with the one specified.- Parameters:
multiplier
- theQuantity
multiplier.- Returns:
this * multiplier
.- Throws:
java.lang.ClassCastException
- if the type of an element in the specified operation is incompatible with this quantity (optional)
-
multiply
Quantity<Q> multiply(java.lang.Number multiplier)
Returns the product of thisQuantity
with theNumber
value specified.- Parameters:
multiplier
- theNumber
multiplier.- Returns:
this * multiplier
.
-
inverse
Quantity<?> inverse()
Returns aQuantity
whose unit isunit.inverse()
.- Returns:
Quantity with this.getUnit().inverse()
.
-
to
Quantity<Q> to(Unit<Q> unit)
Returns thisQuantity
converted into another (compatible)Unit
.- Parameters:
unit
- theUnit
to convert to.- Returns:
- the converted result.
-
asType
<T extends Quantity<T>> Quantity<T> asType(java.lang.Class<T> type) throws java.lang.ClassCastException
Casts this quantity to a parameterized unit of specified nature or throw aClassCastException
if the dimension of the specified quantity and this measure unit's dimension do not match. For example:Quantity<Length> length = Quantities.getQuantity("2 km").asType(Length.class);
orQuantity<Speed> C = length.multiply(299792458).divide(second).asType(Speed.class);
- Type Parameters:
T
- The type of the quantity.- Parameters:
type
- the quantity class identifying the nature of the quantity.- Returns:
- this quantity parameterized with the specified type.
- Throws:
java.lang.ClassCastException
- if the dimension of this unit is different from the specified quantity dimension.java.lang.UnsupportedOperationException
- if the specified quantity class does not have a SI unit for the quantity.- See Also:
Unit.asType(Class)
-
getValue
java.lang.Number getValue()
Returns the value of thisQuantity
.- Returns:
- a value.
-
-