Package tech.units.indriya.unit
Class AlternateUnit<Q extends javax.measure.Quantity<Q>>
- java.lang.Object
-
- tech.units.indriya.AbstractUnit<Q>
-
- tech.units.indriya.unit.AlternateUnit<Q>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<javax.measure.Unit<Q>>
,javax.measure.Unit<Q>
,ComparableUnit<Q>
public final class AlternateUnit<Q extends javax.measure.Quantity<Q>> extends AbstractUnit<Q>
This class represents units used in expressions to distinguish between quantities of a different nature but of the same dimensions.
- Since:
- 1.0
- Version:
- 1.3.1, August 06, 2017
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class tech.units.indriya.AbstractUnit
AbstractUnit.Equalizer
-
-
Field Summary
Fields Modifier and Type Field Description private javax.measure.Unit<?>
parentUnit
Holds the parent unit (a system unit).private static long
serialVersionUID
private java.lang.String
symbol
Holds the symbol for this unit.-
Fields inherited from class tech.units.indriya.AbstractUnit
name, ONE, SYMBOL_TO_UNIT
-
-
Constructor Summary
Constructors Constructor Description AlternateUnit(javax.measure.Unit<?> parentUnit, java.lang.String symbol)
Creates an alternate unit for the specified system unit identified by the specified name and symbol.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
java.util.Map<? extends javax.measure.Unit<?>,java.lang.Integer>
getBaseUnits()
javax.measure.Dimension
getDimension()
javax.measure.Unit<?>
getParentUnit()
Returns the parent unit of this alternate unit, always a system unit and never an alternate unit.java.lang.String
getSymbol()
javax.measure.UnitConverter
getSystemConverter()
Returns the converter from this unit to its unscaledSystem Unit
unit.int
hashCode()
javax.measure.Unit<Q>
toSystemUnit()
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 Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
parentUnit
private final javax.measure.Unit<?> parentUnit
Holds the parent unit (a system unit).
-
symbol
private final java.lang.String symbol
Holds the symbol for this unit.
-
-
Constructor Detail
-
AlternateUnit
public AlternateUnit(javax.measure.Unit<?> parentUnit, java.lang.String symbol)
Creates an alternate unit for the specified system unit identified by the specified name and symbol.- Parameters:
parent
- the system unit from which this alternate unit is derived.symbol
- the symbol for this alternate unit.- Throws:
java.lang.IllegalArgumentException
- if the specified parent unit is not ansystem unit
-
-
Method Detail
-
getParentUnit
public javax.measure.Unit<?> getParentUnit()
Returns the parent unit of this alternate unit, always a system unit and never an alternate unit.- Returns:
- the parent unit.
-
getSymbol
public java.lang.String getSymbol()
-
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:
AbstractUnit.toSystemUnit()
-
toSystemUnit
public javax.measure.Unit<Q> 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
public java.util.Map<? extends javax.measure.Unit<?>,java.lang.Integer> 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
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in classAbstractUnit<Q extends javax.measure.Quantity<Q>>
-
-