Package tech.units.indriya.unit
Class TransformedUnit<Q extends javax.measure.Quantity<Q>>
java.lang.Object
tech.units.indriya.AbstractUnit<Q>
tech.units.indriya.unit.TransformedUnit<Q>
- Type Parameters:
Q
- The type of the quantity measured by this unit.
- All Implemented Interfaces:
Serializable
,Comparable<javax.measure.Unit<Q>>
,javax.measure.Unit<Q>
,ComparableUnit<Q>
,tech.uom.lib.common.function.UnitConverterSupplier
public final class TransformedUnit<Q extends javax.measure.Quantity<Q>>
extends AbstractUnit<Q>
implements tech.uom.lib.common.function.UnitConverterSupplier
This class represents the units derived from other units using converters.
Examples of transformed units:
CELSIUS = KELVIN.shift(273.15);
FOOT = METRE.multiply(3048).divide(10000);
MILLISECOND = MILLI(SECOND);
Transformed units have no symbol. But like any other units, they may have labels attached to them (see
UnitFormat.label
Instances of this class are created through the AbstractUnit.transform(javax.measure.UnitConverter)
method.
- Since:
- 1.0
- Version:
- 1.2, August 06, 2017
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class tech.units.indriya.AbstractUnit
AbstractUnit.Equalizer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final javax.measure.UnitConverter
Holds the converter to the parent unit.private final AbstractUnit<Q>
Holds the parent unit.private static final long
private String
Holds the symbol.private final javax.measure.Unit<Q>
Holds the system unit.Fields inherited from class tech.units.indriya.AbstractUnit
name, ONE, SYMBOL_TO_UNIT
-
Constructor Summary
ConstructorsConstructorDescriptionTransformedUnit
(String symbol, javax.measure.Unit<Q> parentUnit, javax.measure.Unit<Q> sysUnit, javax.measure.UnitConverter unitConverter) Creates a transformed unit from the specified parent and system unit.TransformedUnit
(String symbol, javax.measure.Unit<Q> parentUnit, javax.measure.UnitConverter unitConverter) Creates a transformed unit from the specified parent unit.TransformedUnit
(javax.measure.Unit<Q> parentUnit, javax.measure.UnitConverter unitConverter) Creates a transformed unit from the specified system unit. -
Method Summary
Modifier and TypeMethodDescriptionboolean
javax.measure.UnitConverter
Returns the converter to the parent unit.javax.measure.Dimension
javax.measure.Unit<Q>
Returns the parent unit for this unit.javax.measure.UnitConverter
Returns the converter from this unit to its unscaledSystem Unit
unit.int
hashCode()
protected javax.measure.Unit<Q>
Returns the unscaledSI
unit from which this unit is derived.Methods inherited from class tech.units.indriya.AbstractUnit
alternate, annotate, asType, compareTo, divide, divide, divide, getActualType, getConverterTo, getConverterToAny, getName, getSystemUnit, inverse, isCompatible, isEquivalentOf, isSystemUnit, multiply, multiply, multiply, parse, pow, prefix, root, setName, setSymbol, shift, toString, transform
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
parentUnit
Holds the parent unit. -
systemUnit
Holds the system unit. -
converter
private final javax.measure.UnitConverter converterHolds the converter to the parent unit. -
symbol
Holds the symbol.
-
-
Constructor Details
-
TransformedUnit
Creates a transformed unit from the specified system unit. using the parent as symbol- Parameters:
parentUnit
- the system unit from which this unit is derived.converter
- the converter to the parent units.
-
TransformedUnit
public TransformedUnit(String symbol, javax.measure.Unit<Q> parentUnit, javax.measure.UnitConverter unitConverter) Creates a transformed unit from the specified parent unit.- Parameters:
symbol
- the symbol to use with this transformed unit.parentUnit
- the parent unit from which this unit is derived.unitConverter
- the converter to the parent units.
-
TransformedUnit
public TransformedUnit(String symbol, javax.measure.Unit<Q> parentUnit, javax.measure.Unit<Q> sysUnit, javax.measure.UnitConverter unitConverter) Creates a transformed unit from the specified parent and system unit. using the parent as symbol- Parameters:
parentUnit
- the parent unit from which this unit is derived.sysUnit
- the system unit which this unit is based on.converter
- the converter to the parent units.
-
-
Method Details
-
getDimension
public javax.measure.Dimension getDimension()- Specified by:
getDimension
in interfacejavax.measure.Unit<Q extends javax.measure.Quantity<Q>>
- Specified by:
getDimension
in classAbstractUnit<Q extends javax.measure.Quantity<Q>>
-
getSystemConverter
public javax.measure.UnitConverter getSystemConverter()Description copied from class:AbstractUnit
Returns the converter from this unit to its unscaledSystem Unit
unit.- Specified by:
getSystemConverter
in classAbstractUnit<Q extends javax.measure.Quantity<Q>>
- Returns:
getConverterTo(this.toSystemUnit())
- See Also:
-
getConverter
public javax.measure.UnitConverter getConverter()Returns the converter to the parent unit.- Specified by:
getConverter
in interfacetech.uom.lib.common.function.UnitConverterSupplier
- Returns:
- the converter to the parent unit.
-
toSystemUnit
Description copied from class:AbstractUnit
Returns the unscaledSI
unit from which this unit is derived. The SI unit can be be used to identify a quantity given the unit. For example:static boolean isAngularVelocity(AbstractUnit<?> unit) { return unit.toSystemUnit().equals(RADIAN.divide(SECOND)); } assert(REVOLUTION.divide(MINUTE).isAngularVelocity()); // Returns true.
- Specified by:
toSystemUnit
in classAbstractUnit<Q extends javax.measure.Quantity<Q>>
- Returns:
- the unscaled metric unit from which this unit is derived.
-
getBaseUnits
- Specified by:
getBaseUnits
in interfacejavax.measure.Unit<Q extends javax.measure.Quantity<Q>>
- Specified by:
getBaseUnits
in classAbstractUnit<Q extends javax.measure.Quantity<Q>>
-
hashCode
public int hashCode()- Specified by:
hashCode
in classAbstractUnit<Q extends javax.measure.Quantity<Q>>
-
equals
- Specified by:
equals
in classAbstractUnit<Q extends javax.measure.Quantity<Q>>
-
getSymbol
-
getParentUnit
Returns the parent unit for this unit. The parent unit is the untransformed unit from which this unit is derived.- Returns:
- the untransformed unit from which this unit is derived.
-