Package javax.measure
Provides strongly typed measurements to enforce compile-time check of parameters consistency and avoid interface errors.
Let's take the following example:[code]
class Person {
void setWeight(double weight);
}[/code]
Should the weight be in pound, kilogram ??
Using measures there is no room for error:[code]
class Person {
void setWeight(Measurable
Users may create their own Measurable
implementation:[code]
public class Period implements Measurable
Users may also combine a definite amount (scalar, vector, collection, etc.)
to a unit and make it a Measure
(and
a Measurable
instance). For example:
[code]
// Scalar measurement (numerical).
person.setWeight(Measure.valueOf(180.0, POUND)); // Measure extends Measure
extends Measurable
{
public Amount(double value, double error, Unit
unit) { ... }
public Amount
plus(Amount
that) {...}
public Amount> times(Amount> that) {...}
... // doubleValue(Unit) returns estimated value.
}
[/code]
-
Interface Summary Interface Description Measurable<Q extends Quantity> This interface represents the measurable, countable, or comparable property or aspect of a thing. -
Class Summary Class Description DecimalMeasure<Q extends Quantity> This class represents a measure whose value is an arbitrary-precision decimal number.Measure<V,Q extends Quantity> This class represents the result of a measurement stated in a known unit.MeasureFormat This class provides the interface for formatting and parsingmeasures
.VectorMeasure<Q extends Quantity> This class represents a measurement vector of two or more dimensions.