Class BaseUnit<Q extends Quantity>
- java.lang.Object
-
- javax.measure.unit.Unit<Q>
-
- javax.measure.unit.BaseUnit<Q>
-
- All Implemented Interfaces:
Serializable
public class BaseUnit<Q extends Quantity> extends Unit<Q>
This class represents the building blocks on top of which all others units are created. Base units are typically dimensionally independent. The actual unit dimension is determinated by the current
model
. For example using thestandard
model,SI.CANDELA
has the dimension ofwatt
:[code] // Standard model. BaseUnitMETER = new BaseUnit ("m"); BaseUnit CANDELA = new BaseUnit ("cd"); System.out.println(METER.getDimension()); System.out.println(CANDELA.getDimension()); > [L] > [L]²·[M]/[T]³ [/code] This class represents the "standard base units" which includes SI base units and possibly others user-defined base units. It does not represent the base units of any specific
SystemOfUnits
(they would have be base units accross all possible systems otherwise).- See Also:
- Wikipedia: SI base unit, Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object that)
Indicates if this base unit is considered equals to the specified object (both are base units with equal symbol, standard dimension and standard transform).Unit<? super Q>
getStandardUnit()
Returns thebase unit
,alternate unit
or product of base units and alternate units this unit is derived from.String
getSymbol()
Returns the unique symbol for this base unit.int
hashCode()
Returns the hash code for this unit.UnitConverter
toStandardUnit()
Returns the converter from this unit to its system unit.
-
-
-
Constructor Detail
-
BaseUnit
public BaseUnit(String symbol)
Creates a base unit having the specified symbol.- Parameters:
symbol
- the symbol of this base unit.- Throws:
IllegalArgumentException
- if the specified symbol is associated to a different unit.
-
-
Method Detail
-
getSymbol
public final String getSymbol()
Returns the unique symbol for this base unit.- Returns:
- this base unit symbol.
-
equals
public boolean equals(Object that)
Indicates if this base unit is considered equals to the specified object (both are base units with equal symbol, standard dimension and standard transform).
-
hashCode
public int hashCode()
Description copied from class:Unit
Returns the hash code for this unit.
-
getStandardUnit
public Unit<? super Q> getStandardUnit()
Description copied from class:Unit
Returns thebase unit
,alternate unit
or product of base units and alternate units this unit is derived from. The standard unit identifies the "type" ofquantity
for which this unit is employed. For example:[code] boolean isAngularVelocity(Unit> u) { return u.getStandardUnit().equals(RADIAN.divide(SECOND)); } assert(REVOLUTION.divide(MINUTE).isAngularVelocity()); [/code]Note: Having the same system unit is not sufficient to ensure that a converter exists between the two units (e.g. °C/m and K/m).
- Specified by:
getStandardUnit
in classUnit<Q extends Quantity>
- Returns:
- the system unit this unit is derived from.
-
toStandardUnit
public UnitConverter toStandardUnit()
Description copied from class:Unit
Returns the converter from this unit to its system unit.- Specified by:
toStandardUnit
in classUnit<Q extends Quantity>
- Returns:
this.getConverterTo(this.getSystemUnit())
-
-