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:
Serializable, 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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • parentUnit

      private final javax.measure.Unit<?> parentUnit
      Holds the parent unit (a system unit).
    • symbol

      private final String symbol
      Holds the symbol for this unit.
  • Constructor Details

    • AlternateUnit

      public AlternateUnit(javax.measure.Unit<?> parentUnit, String symbol)
      Creates an alternate unit for the specified system unit identified by the specified name and symbol.
      Parameters:
      symbol - the symbol for this alternate unit.
      parent - the system unit from which this alternate unit is derived.
      Throws:
      IllegalArgumentException - if the specified parent unit is not an system unit
  • Method Details

    • 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 String getSymbol()
      Specified by:
      getSymbol in interface javax.measure.Unit<Q extends javax.measure.Quantity<Q>>
      Overrides:
      getSymbol in class AbstractUnit<Q extends javax.measure.Quantity<Q>>
    • getDimension

      public javax.measure.Dimension getDimension()
      Specified by:
      getDimension in interface javax.measure.Unit<Q extends javax.measure.Quantity<Q>>
      Specified by:
      getDimension in class AbstractUnit<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 unscaled
      invalid reference
      System Unit
      unit.
      Specified by:
      getSystemConverter in class AbstractUnit<Q extends javax.measure.Quantity<Q>>
      Returns:
      getConverterTo(this.toSystemUnit())
      See Also:
    • toSystemUnit

      public javax.measure.Unit<Q> toSystemUnit()
      Description copied from class: AbstractUnit
      Returns the unscaled
      invalid reference
      SI
      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(AbstractUnitinvalid input: '<'?> unit) { return unit.toSystemUnit().equals(RADIAN.divide(SECOND)); } assert(REVOLUTION.divide(MINUTE).isAngularVelocity()); // Returns true.
      Specified by:
      toSystemUnit in class AbstractUnit<Q extends javax.measure.Quantity<Q>>
      Returns:
      the unscaled metric unit from which this unit is derived.
    • getBaseUnits

      public Map<? extends javax.measure.Unit<?>,Integer> getBaseUnits()
      Specified by:
      getBaseUnits in interface javax.measure.Unit<Q extends javax.measure.Quantity<Q>>
      Specified by:
      getBaseUnits in class AbstractUnit<Q extends javax.measure.Quantity<Q>>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class AbstractUnit<Q extends javax.measure.Quantity<Q>>
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in class AbstractUnit<Q extends javax.measure.Quantity<Q>>