Class AUnit

java.lang.Object
info.monitorenter.util.units.AUnit
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
UnitFemto, UnitGiga, UnitKilo, UnitMega, UnitMicro, UnitMilli, UnitNano, UnitPeta, UnitPico, UnitTera, UnitUnchanged

public abstract class AUnit extends Object implements Serializable
A unit.

Version:
$Revision: 1.10 $
Author:
Achim Westermann
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
    Decimals for rounding.
    protected double
    The factor a result of getValue(double) had to be multiplied with if the real (unitless) value has to be calculated.
    protected AUnit
    The next smaller unit to this one within this unit's IUnitSystem.
    protected AUnit
    The next greater unit to this one within this unit's IUnitSystem.
    protected String
    The short unit name of this unit a result of getValue(double) has to be related with to know the this result is displayed in a unit.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Protected constructor to ensure package access only.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    int
    Returns the number of decimals that should be be taken into account if the method getValue(double) is invoked (rounding).
    double
    Returns the factor a result of getValue(double) had to be multiplied with if the real (unitless) value has to be calculated.
    getLabel(double value)
    Returns the the value divided by this unit's factor, rounded to this unit's configured decimals and suffixed by the unit name.
    Returns the next smaller unit to this one within this unit's IUnitSystem.
    Returns the next greater unit to this one within this unit's IUnitSystem.
    Retunrns the short unit name of this unit a result of getValue(double) has to be related with to know the this result is displayed in a unit.
    double
    getValue(double value)
    Transforms the given absolute value into the represented unit value by dividing by the specific factor.
    int
     
    void
    setDecimals(int aftercomma)
    Define how many decimals should be taken into account if the method getValue(double) is invoked (rounding).
    Returns the same as getUnitName(), prefer calling this directly if desired.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • m_decimals

      protected int m_decimals
      Decimals for rounding.
    • m_factor

      protected double m_factor
      The factor a result of getValue(double) had to be multiplied with if the real (unitless) value has to be calculated.
    • m_nexLowerUnit

      protected AUnit m_nexLowerUnit
      The next smaller unit to this one within this unit's IUnitSystem.

    • m_nextHigherUnit

      protected AUnit m_nextHigherUnit
      The next greater unit to this one within this unit's IUnitSystem.

    • m_unitName

      protected String m_unitName
      The short unit name of this unit a result of getValue(double) has to be related with to know the this result is displayed in a unit.

  • Constructor Details

  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      See Also:
    • getDecimals

      public int getDecimals()
      Returns the number of decimals that should be be taken into account if the method getValue(double) is invoked (rounding).

      Returns:
      the number of decimals that should be be taken into account if the method getValue(double) is invoked (rounding).
    • getFactor

      public double getFactor()
      Returns the factor a result of getValue(double) had to be multiplied with if the real (unitless) value has to be calculated.

      For performance reason (fast access) factor is public. This is against "safety by desing" so do never set this value.

      Returns:
      the factor a result of getValue(double) had to be multiplied with if the real (unitless) value has to be calculated.
    • getLabel

      public String getLabel(double value)
      Returns the the value divided by this unit's factor, rounded to this unit's configured decimals and suffixed by the unit name.

      Parameters:
      value - the value for the label.
      Returns:
      the the value divided by this unit's factor, rounded by this unit's configured decimals and suffixed by the unit name.
      See Also:
    • getNexLowerUnit

      public AUnit getNexLowerUnit()
      Returns the next smaller unit to this one within this unit's IUnitSystem.

      If this is already the smallest unit, this will be returned so add unit == unit.getLowerUnit() as the termination criteria in loops to search for the smallest unit (to avoid endless loops).

      Returns:
      the next lower unit to this one within this unit's IUnitSystem.
    • getNextHigherUnit

      public AUnit getNextHigherUnit()
      Returns the next greater unit to this one within this unit's IUnitSystem.

      If this is already the greatest unit, this will be returned so add unit == unit.getNextHigherUnit() as the termination criteria in loops to search for the greatest unit (to avoid endless loops).

      Returns:
      the next greater unit to this one within this unit's IUnitSystem.
    • getUnitName

      public String getUnitName()
      Retunrns the short unit name of this unit a result of getValue(double) has to be related with to know the this result is displayed in a unit.

      Returns:
      the short unit name of this unit a result of getValue(double) has to be related with to know the this result is displayed in a unit.

    • getValue

      public double getValue(double value)
      Transforms the given absolute value into the represented unit value by dividing by the specific factor.

      The result is rounded using the actual decimal setting.

      Parameters:
      value - the value to represent in this unit.
      Returns:
      The value to display in this unit rounded using the internal decimals.
    • setDecimals

      public void setDecimals(int aftercomma)
      Define how many decimals should be taken into account if the method getValue(double) is invoked (rounding).

      Parameters:
      aftercomma - the number of decimals that should be taken into account if the method getValue(double) is invoked (rounding)
    • toString

      public String toString()
      Returns the same as getUnitName(), prefer calling this directly if desired.

      Overrides:
      toString in class Object
      Returns:
      the same as getUnitName(), prefer calling this directly if desired.