Package org.apache.sis.measure
Class Quantities
-
public final class Quantities extends Static
Provides static methods working onQuantity
instances. Apache SIS implementation of quantities has the following characteristics:- Values are stored with
double
precision. - All quantities implement the specific subtype (e.g.
Length
instead ofQuantity<Length>
). - Quantities are immutable,
Comparable
andSerializable
.
- Since:
- 0.8
Defined in the
sis-utility
module - Values are stored with
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <Q extends Quantity<Q>>
QcastOrCopy(Quantity<Q> quantity)
Returns the given quantity as an instance of the specificQuantity
subtype.static Quantity<?>
create(double value, String unit)
Creates a quantity for the given value and unit of measurement symbol.static <Q extends Quantity<Q>>
Qcreate(double value, Unit<Q> unit)
Creates a quantity for the given value and unit of measurement.
-
-
-
Method Detail
-
create
public static Quantity<?> create(double value, String unit)
Creates a quantity for the given value and unit of measurement symbol. This is a convenience method that combines a call toUnits.valueOf(String)
withcreate(double, Unit)
.- Parameters:
value
- the quantity magnitude.unit
- symbol of the unit of measurement associated to the given value.- Returns:
- a quantity of the given type for the given value and unit of measurement.
- Throws:
ParserException
- if the given symbol can not be parsed.
-
create
public static <Q extends Quantity<Q>> Q create(double value, Unit<Q> unit)
Creates a quantity for the given value and unit of measurement.- Type Parameters:
Q
- the quantity type (e.g.Length
,Angle
,Time
, etc.).- Parameters:
value
- the quantity magnitude.unit
- the unit of measurement associated to the given value.- Returns:
- a quantity of the given type for the given value and unit of measurement.
- Throws:
IllegalArgumentException
- if the given unit class is not a supported implementation.- See Also:
UnitServices.getQuantityFactory(Class)
-
castOrCopy
public static <Q extends Quantity<Q>> Q castOrCopy(Quantity<Q> quantity)
Returns the given quantity as an instance of the specificQuantity
subtype. For example this method can be used for converting aQuantity<Length>
to aLength
. If the given quantity already implements the specific interface, then it is returned as-is.- Type Parameters:
Q
- the quantity type (e.g.Length
,Angle
,Time
, etc.), ornull
.- Parameters:
quantity
- the quantity to convert to the specific subtype.- Returns:
- the given quantity as a specific subtype (may be
quantity
itself), ornull
if the given quantity was null. - Throws:
IllegalArgumentException
- if the unit class associated to the given quantity is not a supported implementation.
-
-