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.