info.monitorenter.util.units
Class AUnit

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

public abstract class AUnit
extends java.lang.Object
implements java.io.Serializable

A unit.

Version:
$Revision: 1.10 $
Author:
Achim Westermann
See Also:
UnitFactory, IUnitSystem, UnitSystemSI, Serialized Form

Field Summary
protected  int m_decimals
          Decimals for rounding.
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.
protected  AUnit m_nexLowerUnit
          The next smaller unit to this one within this unit's IUnitSystem.
protected  AUnit m_nextHigherUnit
          The next greater unit to this one within this unit's IUnitSystem.
protected  java.lang.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 Summary
protected AUnit()
          Protected constructor to ensure package access only.
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 int getDecimals()
          Returns the number of decimals that should be be taken into account if the method getValue(double) is invoked (rounding).
 double getFactor()
          Returns the factor a result of getValue(double) had to be multiplied with if the real (unitless) value has to be calculated.
 java.lang.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.
 AUnit getNexLowerUnit()
          Returns the next smaller unit to this one within this unit's IUnitSystem.
 AUnit getNextHigherUnit()
          Returns the next greater unit to this one within this unit's IUnitSystem.
 java.lang.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.
 double getValue(double value)
          Transforms the given absolute value into the represented unit value by dividing by the specific factor.
 int hashCode()
           
 void setDecimals(int aftercomma)
          Define how many decimals should be taken into account if the method getValue(double) is invoked (rounding).
 java.lang.String toString()
          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 Detail

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 java.lang.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 Detail

AUnit

protected AUnit()
Protected constructor to ensure package access only.

Use UnitFactory.getInstance() and UnitFactory.getUnit(double, IUnitSystem) to obtain a proper unit.

Method Detail

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
See Also:
Object.hashCode()

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object
See Also:
Object.equals(java.lang.Object)

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 java.lang.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:
getUnitName(), getDecimals()

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 java.lang.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 java.lang.String toString()
Returns the same as getUnitName(), prefer calling this directly if desired.

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


Copyright © 2001 - 2010 LGPL, All Rights Footloose.