Module tech.uom.seshat
module tech.uom.seshat
Implementation of Units of Measurement API defined by JSR 385.
The
prints "kPa", i.e. the kilo prefix has been automatically applied
(SI prefixes are applied on SI units only, not on other systems).
Other example:
prints
Units
class provides static constants
for about 50 units of measurement including all the SI base units
(metre,
kilogram
second,
ampere,
kelvin,
mole and
candela)
together with some derived units
(square metre,
cubic metre,
metres per second,
hertz,
pascal,
newton,
joule,
watt,
tesla,
etc.)
and some dimensionless units
(radian,
steradian,
pixel,
unity).
Arithmetic operations
Seshat supports arithmetic operations on units and on quantities. The unit (including SI prefix) and the quantity type resulting from those arithmetic operations are automatically inferred. For example this line of code:System.out.println( Units.PASCAL.multiply(1000) );
Force f = Quantities.create(4, Units.NEWTON);
Length d = Quantities.create(6, Units.MILLIMETRE);
Time t = Quantities.create(3, Units.SECOND);
Quantity<?> e = f.multiply(d).divide(t);
System.out.println(e);
System.out.println("Is instance of Power: " + (e instanceof Power));
"8 mW"
and "Is instance of Power: true"
,
i.e. Seshat detects that the result of N⋅m∕s is Watt,
inherits the milli prefix from millimetre and creates an instance
of Power
, not just Quantity<Power>
(the generic parent).
Parsing and formatting
Parsing and formatting use Unicode symbols by default, as in "µg/m²". Parenthesis are recognized at parsing time and used for denominators at formatting time, as in "kg/(m²⋅s)". While uncommon, Seshat accepts fractional powers as in "m^⅔". Some sentences like "100 feet", "square metre" and "degree Kelvin" are also recognized at parsing time.Source
Seshat is a subset of Apache Spatial Information System (SIS) library keeping only the classes required for JSR 385 implementation.- Since:
- 1.2
-
Packages
Exports