public class UnitImpl
extends edu.iris.Fissures.Unit
It has 4 main parts and can be viewed as
(m * 10^p u) ^ e
where:
m is the multiplicative factor,
p is the power of ten,
u is either a SI base unit, or a composite unit,
e is the exponent.
For example, the unit per inch might be represented as
(2.54 * 10^0 (1.0 * 10^-2 METER) ) ^ -1
as one inch is 2.54 centimeters, which is 10-2 METERS.
The -1 takes care of the per part.
Modifier | Constructor and Description |
---|---|
protected |
UnitImpl() |
protected |
UnitImpl(int power,
java.lang.String name,
double multi,
int exponent) |
|
UnitImpl(edu.iris.Fissures.Unit[] subunits,
int power,
java.lang.String name,
double multi,
int exponent) |
|
UnitImpl(edu.iris.Fissures.UnitBase baseUnit,
int exponent,
int power)
creates a simple unit, ie only one type of base unit to a exponent
with a power for the power of ten.
|
|
UnitImpl(edu.iris.Fissures.UnitBase base,
int power,
java.lang.String name,
double multi,
int exponent)
creates a simple unit, ie only one type of base unit to a exponent
with a power for the power of ten and with a multiplicative factor
and a name.
|
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
baseToString(edu.iris.Fissures.UnitBase b) |
static java.io.Serializable |
createEmpty() |
static UnitImpl |
createUnitImpl(edu.iris.Fissures.Unit inUnit)
A factory method to make sure that the input edu.iris.Fissures.unit
is in fact a edu.iris.Fissurs.model.UnitImpl, to avoid class cast
errors.
|
static UnitImpl |
divide(UnitImpl a,
UnitImpl b)
creates a new unit that is the product of the first unit and the
inverse of the second unit.
|
static UnitImpl |
divide(UnitImpl a,
UnitImpl b,
java.lang.String name)
creates a new unit that is the product of the first unit and the
inverse of the second unit.
|
boolean |
equals(java.lang.Object o) |
int[] |
getBaseExponents()
Returns the exponents of the subunits of this unit.
|
edu.iris.Fissures.UnitBase |
getBaseUnit() |
int |
getBaseUnitInt()
for use by hibernate
|
java.lang.Integer |
getDbid() |
int |
getExponent()
Returns the exponent for this unit.
|
double |
getMultiFactor()
Returns the multiplicative factor for this unit.
|
static int |
getNumPrimitives()
convoluted way to find out how many different unit primitives
there are, since edu.iris.Fissures.UnitBase
provides no accessor method and to avoid hard coding the value.
|
int |
getNumSubUnits()
Returns the number of subunits.
|
int |
getPower()
Returns the power of ten for this unit.
|
static java.lang.String |
getPrefix(int power) |
UnitImpl |
getReducedUnit()
Reduces the unit to its most basic SI form, combining all terms
possible and bringing any constant factors out.
|
UnitImpl |
getSubUnit(int i)
Returns the ith subunit of this Unit.
|
UnitImpl[] |
getSubUnits() |
java.util.List<UnitImpl> |
getSubUnitsList() |
double |
getTotalMultiFactor()
Calcultes the total power of ten for this unit relative to the
base units.
|
int |
getTotalPower()
Calcultes the total power of ten for this unit relative to the
MKS base units.
|
static UnitImpl |
getUnitFromString(java.lang.String unitName) |
int |
hashCode() |
UnitImpl |
inverse()
creates and inverse to this unit with a given name.
|
UnitImpl |
inverse(java.lang.String name) |
boolean |
isBaseUnit() |
boolean |
isConvertableTo(UnitImpl otherUnits)
decides whether this unit is convertable to another unit.
|
boolean |
isNamed() |
static UnitImpl |
multiply(double f,
UnitImpl u)
creates a new unit that is the product of a float multiplicative
factor and a unit, without a given name.
|
static UnitImpl |
multiply(double f,
UnitImpl u,
java.lang.String name)
creates a new unit that is the product of a float multiplicative
factor and a unit with a name.
|
static UnitImpl |
multiply(UnitImpl[] units)
creates a new unit that is the product of the units.
|
static UnitImpl |
multiply(UnitImpl[] units,
java.lang.String name)
creates a new unit that is the product of the units.
|
static UnitImpl |
multiply(UnitImpl a,
UnitImpl b)
creates a new unit that is the product of the two units.
|
static UnitImpl |
multiply(UnitImpl a,
UnitImpl b,
java.lang.String name)
creates a new unit that is the product of the two units.
|
protected void |
setBaseUnitInt(int base)
for use by hibernate
|
protected void |
setDbid(java.lang.Integer dbid) |
protected void |
setSubUnits(UnitImpl[] u)
for use by hibernate
|
protected void |
setSubUnitsList(java.util.List<UnitImpl> list) |
void |
toLongString() |
java.lang.String |
toString() |
protected static int numPrimitives
the_unit_base - the base unit, if this is of type BASE, or COMPOSITE if not
elements - the elements that make up this composite unit,
if this is of type COMPOSITE
power - the power of ten for this unit, for example 3 for KILO
name - a string name for the unit, for example millisecond or foot
multi_factor - multiplicative factor, for example 2.54 together
with centimeters would give inches
exponent - the exponent of the unit, for example -1 for per second
public static final int YOTTA
public static final int ZETTA
public static final int EXA
public static final int PETA
public static final int TERA
public static final int GIGA
public static final int MEGA
public static final int KILO
public static final int HECTO
public static final int DEKA
public static final int NONE
public static final int DECI
public static final int CENTI
public static final int MILLI
public static final int MICRO
public static final int NANO
public static final int PICO
public static final int FEMTO
public static final int ATTO
public static final int ZEPTO
public static final int YOCTO
public static final UnitImpl METER
public static final UnitImpl LENGTH
public static final UnitImpl KILOMETER
public static final UnitImpl CENTIMETER
public static final UnitImpl MILLIMETER
public static final UnitImpl MICROMETER
public static final UnitImpl MICRON
public static final UnitImpl NANOMETER
public static final UnitImpl PICOMETER
public static final UnitImpl INCH
public static final UnitImpl FOOT
public static final UnitImpl MILE
public static final UnitImpl YARD
public static final UnitImpl ROD
public static final UnitImpl FURLONG
public static final UnitImpl LEAGUE
public static final UnitImpl SECOND
public static final UnitImpl TIME
public static final UnitImpl MINUTE
public static final UnitImpl HOUR
public static final UnitImpl DAY
public static final UnitImpl WEEK
public static final UnitImpl FORTNIGHT
public static final UnitImpl YEAR
public static final UnitImpl LEAP_YEAR
public static final UnitImpl GREGORIAN_YEAR
public static final UnitImpl MILLISECOND
public static final UnitImpl TENTHMILLISECOND
public static final UnitImpl MICROSECOND
public static final UnitImpl NANOSECOND
public static final UnitImpl HERTZ
public static final UnitImpl SQUARE_METER
public static final UnitImpl AREA
public static final UnitImpl SQUARE_CENTIMETER
public static final UnitImpl CUBIC_METER
public static final UnitImpl VOLUME
public static final UnitImpl CUBIC_CENTIMETER
public static final UnitImpl LITER
public static final UnitImpl GRAM
public static final UnitImpl KILOGRAM
public static final UnitImpl MASS
public static final UnitImpl DENSITY
public static final UnitImpl GRAM_PER_CUBIC_CENTIMETER
public static final UnitImpl KILOGRAM_PER_CUBIC_METER
public static final UnitImpl VELOCITY
public static final UnitImpl METER_PER_SECOND
public static final UnitImpl KILOMETER_PER_SECOND
public static final UnitImpl CENTIMETER_PER_SECOND
public static final UnitImpl MILLIMETER_PER_SECOND
public static final UnitImpl MICROMETER_PER_SECOND
public static final UnitImpl MICRON_PER_SECOND
public static final UnitImpl NANOMETER_PER_SECOND
public static final UnitImpl METER_PER_SECOND_PER_SECOND
public static final UnitImpl ACCELERATION
public static final UnitImpl KILOMETER_PER_SECOND_PER_SECOND
public static final UnitImpl CENTIMETER_PER_SECOND_PER_SECOND
public static final UnitImpl MILLIMETER_PER_SECOND_PER_SECOND
public static final UnitImpl MICROMETER_PER_SECOND_PER_SECOND
public static final UnitImpl NANOMETER_PER_SECOND_PER_SECOND
public static final UnitImpl FORCE
public static final UnitImpl NEWTON
public static final UnitImpl PASCAL
public static final UnitImpl HECTOPASCAL
public static final UnitImpl KILOPASCAL
public static final UnitImpl BAR
public static final UnitImpl MILLIBAR
public static final UnitImpl CUBIC_METER_PER_CUBIC_METER
public static final UnitImpl METER_PER_METER
public static final UnitImpl JOULE
public static final UnitImpl ENERGY
public static final UnitImpl DYNE
public static final UnitImpl AMPERE
public static final UnitImpl COULOMB
public static final UnitImpl VOLT
public static final UnitImpl WATT
public static final UnitImpl WEBER
public static final UnitImpl TESLA
public static final UnitImpl VOLT_PER_METER
public static final UnitImpl WATT_PER_SQUARE_METER
public static final UnitImpl RADIAN
public static final UnitImpl DEGREE
public static final UnitImpl COUNT
public static final UnitImpl MILLICOUNT
public static final UnitImpl MICROCOUNT
public static final UnitImpl KILOCOUNT
public static final UnitImpl MEGACOUNT
public static final UnitImpl DIMENSONLESS
public static final UnitImpl DIMENSIONLESS
public static final java.lang.String KELVIN_NAME
public static final UnitImpl KELVIN
public static final java.lang.String CELSIUS_NAME
public static final UnitImpl CELSIUS
public static final java.lang.String FAHRENHEIT_NAME
public static final UnitImpl FAHRENHEIT
public static final UnitImpl CANDELA
public static final UnitImpl MOLE
public static final UnitImpl UNKNOWN
public static final UnitImpl RADIAN_PER_SECOND
protected java.lang.Integer dbid
protected java.util.List<UnitImpl> hibernateSubUnitList
protected UnitImpl()
protected UnitImpl(int power, java.lang.String name, double multi, int exponent)
public UnitImpl(edu.iris.Fissures.UnitBase baseUnit, int exponent, int power)
public UnitImpl(edu.iris.Fissures.Unit[] subunits, int power, java.lang.String name, double multi, int exponent)
public UnitImpl(edu.iris.Fissures.UnitBase base, int power, java.lang.String name, double multi, int exponent)
public static java.io.Serializable createEmpty()
public static UnitImpl createUnitImpl(edu.iris.Fissures.Unit inUnit)
public int getNumSubUnits()
public UnitImpl getSubUnit(int i)
public UnitImpl[] getSubUnits()
protected void setSubUnits(UnitImpl[] u)
public boolean isBaseUnit()
public edu.iris.Fissures.UnitBase getBaseUnit()
public int getBaseUnitInt()
protected void setBaseUnitInt(int base)
public static int getNumPrimitives()
public UnitImpl getReducedUnit()
public int[] getBaseExponents()
public int getExponent()
public int getTotalPower()
public int getPower()
public double getTotalMultiFactor()
public double getMultiFactor()
public boolean isConvertableTo(UnitImpl otherUnits)
public boolean isNamed()
public static java.lang.String baseToString(edu.iris.Fissures.UnitBase b)
public void toLongString()
public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public UnitImpl inverse()
public UnitImpl inverse(java.lang.String name)
public static UnitImpl multiply(double f, UnitImpl u)
public static UnitImpl multiply(double f, UnitImpl u, java.lang.String name)
public static UnitImpl multiply(UnitImpl a, UnitImpl b)
public static UnitImpl multiply(UnitImpl a, UnitImpl b, java.lang.String name)
public static UnitImpl multiply(UnitImpl[] units)
public static UnitImpl multiply(UnitImpl[] units, java.lang.String name)
public static UnitImpl divide(UnitImpl a, UnitImpl b)
public static UnitImpl divide(UnitImpl a, UnitImpl b, java.lang.String name)
public static final java.lang.String getPrefix(int power)
public static final UnitImpl getUnitFromString(java.lang.String unitName) throws java.lang.NoSuchFieldException
java.lang.NoSuchFieldException
protected void setDbid(java.lang.Integer dbid)
public java.lang.Integer getDbid()
public java.util.List<UnitImpl> getSubUnitsList()
protected void setSubUnitsList(java.util.List<UnitImpl> list)