Package org.apache.sis.measure
Class Quantities
-
public final class Quantities extends Static
Provides static methods working onQuantityinstances. Apache SIS implementation of quantities has the following characteristics:- Values are stored with
doubleprecision. - All quantities implement the specific subtype (e.g.
Lengthinstead ofQuantity<Length>). - Quantities are immutable,
ComparableandSerializable.
- Since:
- 0.8
Defined in the
sis-utilitymodule - 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 specificQuantitysubtype.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 specificQuantitysubtype. 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
quantityitself), ornullif the given quantity was null. - Throws:
IllegalArgumentException- if the unit class associated to the given quantity is not a supported implementation.
-
-