public abstract class AUnit
extends java.lang.Object
implements java.io.Serializable
UnitFactory
,
IUnitSystem
,
UnitSystemSI
,
Serialized FormModifier and Type | Field and Description |
---|---|
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. |
Modifier | Constructor and Description |
---|---|
protected |
AUnit()
Protected constructor to ensure package access only.
|
Modifier and Type | Method and Description |
---|---|
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. |
protected int m_decimals
protected double m_factor
getValue(double)
had to be multiplied with
if the real (unitless) value has to be calculated.protected AUnit m_nexLowerUnit
IUnitSystem
.
protected AUnit m_nextHigherUnit
IUnitSystem
.
protected java.lang.String m_unitName
getValue(double)
has
to be related with to know the this result is displayed in a unit.
protected AUnit()
Use UnitFactory.getInstance()
and
UnitFactory.getUnit(double, IUnitSystem)
to obtain a proper unit.
public int hashCode()
hashCode
in class java.lang.Object
Object.hashCode()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
Object.equals(java.lang.Object)
public int getDecimals()
getValue(double)
is invoked (rounding).
getValue(double)
is invoked (rounding).public double getFactor()
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.
getValue(double)
had to be
multiplied with if the real (unitless) value has to be calculated.public java.lang.String getLabel(double value)
value
- the value for the label.getUnitName()
,
getDecimals()
public AUnit getNexLowerUnit()
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).
IUnitSystem
.public AUnit getNextHigherUnit()
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).
IUnitSystem
.public java.lang.String getUnitName()
getValue(double)
has to be related with to know the this result is
displayed in a unit.
getValue(double)
has to be related with to know the this
result is displayed in a unit.
public double getValue(double value)
The result is rounded using the actual decimal setting.
value
- the value to represent in this unit.public void setDecimals(int aftercomma)
getValue(double)
is invoked (rounding).
aftercomma
- the number of decimals that should be taken into account if the
method getValue(double)
is invoked (rounding)public java.lang.String toString()
getUnitName()
, prefer calling this directly
if desired.
toString
in class java.lang.Object
getUnitName()
, prefer calling this directly
if desired.Copyright © 2001 - 2010 LGPL, All Rights Footloose.