javax.measure.unit
public static interface Dimension.Model
base units and dimensions.
Custom models may allow conversions not possible using the standard model. For example:
public static void main(String[] args) {
Dimension.Model relativistic = new Dimension.Model() {
RationalConverter meterToSecond = new RationalConverter(1, 299792458); // 1/c
public Dimension getDimension(BaseUnit unit) {
if (unit.equals(SI.METER)) return Dimension.TIME;
else return Dimension.Model.STANDARD.getDimension(unit);
}
public UnitConverter getTransform(BaseUnit unit) {
if (unit.equals(SI.METER)) return meterToSecond;
else return Dimension.Model.STANDARD.getTransform(unit);
}
};
Dimension.setModel(relativistic);
// Converts 1.0 GeV (energy) to kg (mass).
System.out.println(Unit.valueOf("GeV").getConverterTo(KILOGRAM).convert(1.0));
}
> 1.7826617302520883E-27
| Modifier and Type | Field and Description |
|---|---|
static Dimension.Model |
STANDARD
Holds the standard model (default).
|
| Modifier and Type | Method and Description |
|---|---|
Dimension |
getDimension(BaseUnit<?> unit)
Returns the dimension of the specified base unit (a dimension particular to the base unit if the base unit is
not recognized).
|
UnitConverter |
getTransform(BaseUnit<?> unit)
Returns the normalization transform of the specified base unit (
IDENTITY if
the base unit is not recognized). |
static final Dimension.Model STANDARD
Dimension getDimension(BaseUnit<?> unit)
unit - the base unit for which the dimension is returned.UnitConverter getTransform(BaseUnit<?> unit)
IDENTITY if
the base unit is not recognized).unit - the base unit for which the transform is returned.