Package info.monitorenter.util.units
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
A unit.
- Version:
- $Revision: 1.10 $
- Author:
- Achim Westermann
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
Decimals for rounding.protected double
The factor a result ofgetValue(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'sIUnitSystem
.protected AUnit
The next greater unit to this one within this unit'sIUnitSystem
.protected String
The short unit name of this unit a result ofgetValue(double)
has to be related with to know the this result is displayed in a unit. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AUnit()
Protected constructor to ensure package access only. -
Method Summary
Modifier and TypeMethodDescriptionboolean
int
Returns the number of decimals that should be be taken into account if the methodgetValue(double)
is invoked (rounding).double
Returns the factor a result ofgetValue(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'sIUnitSystem
.Returns the next greater unit to this one within this unit'sIUnitSystem
.Retunrns the short unit name of this unit a result ofgetValue(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 methodgetValue(double)
is invoked (rounding).toString()
Returns the same asgetUnitName()
, prefer calling this directly if desired.
-
Field Details
-
m_decimals
protected int m_decimalsDecimals for rounding. -
m_factor
protected double m_factorThe factor a result ofgetValue(double)
had to be multiplied with if the real (unitless) value has to be calculated. -
m_nexLowerUnit
The next smaller unit to this one within this unit'sIUnitSystem
. -
m_nextHigherUnit
The next greater unit to this one within this unit'sIUnitSystem
. -
m_unitName
The short unit name of this unit a result ofgetValue(double)
has to be related with to know the this result is displayed in a unit.
-
-
Constructor Details
-
AUnit
protected AUnit()Protected constructor to ensure package access only.Use
UnitFactory.getInstance()
andUnitFactory.getUnit(double, IUnitSystem)
to obtain a proper unit.
-
-
Method Details
-
hashCode
public int hashCode() -
equals
-
getDecimals
public int getDecimals()Returns the number of decimals that should be be taken into account if the methodgetValue(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 ofgetValue(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
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
Returns the next smaller unit to this one within this unit'sIUnitSystem
.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
Returns the next greater unit to this one within this unit'sIUnitSystem
.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
Retunrns the short unit name of this unit a result ofgetValue(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 methodgetValue(double)
is invoked (rounding).- Parameters:
aftercomma
- the number of decimals that should be taken into account if the methodgetValue(double)
is invoked (rounding)
-
toString
Returns the same asgetUnitName()
, prefer calling this directly if desired.- Overrides:
toString
in classObject
- Returns:
- the same as
getUnitName()
, prefer calling this directly if desired.
-