Class Unit
This class only support exponents for the base SI units in the range -64 to
+63. Any operation which produces an exponent outside of this range will
result in a Unit
object with undefined exponents.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Unit
The electric current unit ampere (A)private static final int
private static final Unit[]
An array containing all units defined.static final Unit
The electric charge unit coulomb (C).static final Unit
The luminous intensity unit candela (cd)private static final int
static final Unit
The capacitance unit farad (F).static final Unit
The absorbed dose unit gray (Gy).static final Unit
The frequency unit hertz (Hz).static final Unit
The energy unit joule (J).static final Unit
The temperature unit kelvin (K)private static final int
static final Unit
The catalytic activity unit katal (kat).static final Unit
The mass unit kilogram (kg)private static final int
static final Unit
The illuminance unit lux (lx).static final Unit
The length unit meter (m)static final Unit
The speed unit meter per second (m/s)static final Unit
The acceleration unit meter per second squared (m/s2)private static final int
static final Unit
The area unit square meter (m2)static final Unit
The volume unit cubic meter (m3)private static final long
static final Unit
The amount of substance unit mole (mol)private static final int
static final Unit
The force unit newton (N).private final String
static final Unit
The electric resistance unit ohm.static final Unit
The pressure unit pascal (Pa).static final Unit
The angle unit radians (rad)private static final int
static final Unit
The time unit second (s)static final Unit
The electric conductance unit siemens (S).private static final int
static final Unit
The magnetic flux density unit tesla (T).private final long
static final Unit
No Unit (Unity)private static final long
static final Unit
The electric potential difference unit volt (V).static final Unit
The power unit watt (W).static final Unit
The magnetic flux unit weber (Wb).private static final long
private static final int
private static final long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) Unit
Returns a newUnit
that is the addition of thisUnit
and theUnit
specified.private static void
addSIname
(int si, String name, StringBuilder numerator, StringBuilder denominator) private static String
computeName
(long type) private static long
createType
(int _x, int _rad, int _cd, int _mol, int _A, int _K, int _kg, int _s, int _m) Create a type field from the base SI unit exponent values.(package private) Unit
Returns a newUnit
that is the division of thisUnit
and theUnit
specifiedboolean
Checks whether thisUnit
object is equal to the specifiedUnit
object.(package private) static Unit
find
(long type) Finds aUnit
based on a type.int
hashCode()
Returns the hash code for this object.private boolean
Checks whether the unit has a special type, i.e.(package private) Unit
Returns a newUnit
that is the multiplication of thisUnit
and theUnit
specified(package private) Unit
Returns a newUnit
that is the subtraction between thisUnit
and theUnit
specified.toString()
Returns aString
object representing theUnit
-
Field Details
-
UNITY
private static final long UNITY -
ZERO
private static final long ZERO- See Also:
-
MASK
private static final long MASK- See Also:
-
m_SHIFT
private static final int m_SHIFT- See Also:
-
s_SHIFT
private static final int s_SHIFT- See Also:
-
kg_SHIFT
private static final int kg_SHIFT- See Also:
-
K_SHIFT
private static final int K_SHIFT- See Also:
-
A_SHIFT
private static final int A_SHIFT- See Also:
-
mol_SHIFT
private static final int mol_SHIFT- See Also:
-
cd_SHIFT
private static final int cd_SHIFT- See Also:
-
rad_SHIFT
private static final int rad_SHIFT- See Also:
-
x_SHIFT
private static final int x_SHIFT- See Also:
-
x_MASK
private static final long x_MASK- See Also:
-
unity
No Unit (Unity) -
m
The length unit meter (m) -
s
The time unit second (s) -
kg
The mass unit kilogram (kg) -
K
The temperature unit kelvin (K) -
A
The electric current unit ampere (A) -
mol
The amount of substance unit mole (mol) -
cd
The luminous intensity unit candela (cd) -
m_s
The speed unit meter per second (m/s) -
m_s2
The acceleration unit meter per second squared (m/s2) -
m2
The area unit square meter (m2) -
m3
The volume unit cubic meter (m3) -
Hz
The frequency unit hertz (Hz).hertz is expressed in SI units as 1/s
-
N
The force unit newton (N).N is expressed in SI units as m·kg/s2
-
Pa
The pressure unit pascal (Pa).Pa is equal to N/m2 or is expressed in SI units as kg/m·s2
-
J
The energy unit joule (J).joule is equal to N·m or is expressed in SI units as m2·kg/s2
-
W
The power unit watt (W).watt is equal to J/s or is expressed in SI units as m2·kg/s3
-
C
The electric charge unit coulomb (C).coulomb is expressed in SI units as s·A
-
V
The electric potential difference unit volt (V).volt is equal to W/A or is expressed in SI units as m2·kg/s3·A
-
F
The capacitance unit farad (F).farad is equal to C/V or is expressed in SI units as s4·A2/m2·kg
-
Ohm
The electric resistance unit ohm.ohm is equal to V/A or is expressed in SI units as m2·kg/s3·A2
-
S
The electric conductance unit siemens (S).siemens is equal to A/V or is expressed in SI units as s3·A2/m2·kg
-
Wb
The magnetic flux unit weber (Wb).weber is equal to V·s or is expressed in SI units as m2·kg/s2·A
-
T
The magnetic flux density unit tesla (T).tesla is equal to Wb/m2 or is expressed in SI units as kg/s2·A
-
lx
The illuminance unit lux (lx).lux is expressed in SI units as cd/m2
-
Gy
The absorbed dose unit gray (Gy).Gy is equal to J/kg or is expressed in SI units as m2/s2
-
kat
The catalytic activity unit katal (kat).katal is expressed in SI units as mol/s
-
rad
The angle unit radians (rad) -
allUnits
An array containing all units defined. The first seven items must be m, s, kg, K, A, mol, cd, rad in this order! -
base
-
name
-
type
private final long type
-
-
Constructor Details
-
Unit
Creates a newUnit
instance.- Parameters:
name
- the name of theUnit
type
- the type of theUnit
-
-
Method Details
-
createType
private static long createType(int _x, int _rad, int _cd, int _mol, int _A, int _K, int _kg, int _s, int _m) Create a type field from the base SI unit exponent values. -
equals
Checks whether thisUnit
object is equal to the specifiedUnit
object. TheUnit
objects are considered equal if their exponents are equal. -
hashCode
public int hashCode()Returns the hash code for this object. -
mul
Returns a newUnit
that is the multiplication of thisUnit
and theUnit
specified- Parameters:
that
- theUnit
that will be multiplied with thisUnit
- Returns:
- a new
Unit
that is the multiplication of thisUnit
and theUnit
specified - Throws:
RuntimeException
- if bothUnit
s are special- See Also:
-
div
Returns a newUnit
that is the division of thisUnit
and theUnit
specified- Parameters:
that
- theUnit
that thisUnit
will be divided with- Returns:
- a new
Unit
that is the division of thisUnit
and theUnit
specified - Throws:
RuntimeException
- if bothUnit
s are special- See Also:
-
add
Returns a newUnit
that is the addition of thisUnit
and theUnit
specified.- Parameters:
that
- theUnit
that should be added to thisUnit
- Returns:
- a new
Unit
that is the addition of thisUnit
and theUnit
specified. - Throws:
RuntimeException
- if the twoUnit
s are not the same
-
sub
Returns a newUnit
that is the subtraction between thisUnit
and theUnit
specified.- Parameters:
that
- theUnit
that will be subtracted from thisUnit
- Returns:
- a new
Unit
that is the subtraction between thisUnit
and theUnit
specified. - Throws:
RuntimeException
- if theUnit
specified is not the same as thisUnit
-
find
Finds aUnit
based on a type. If theUnit
is not found, it will be created and added to the list of all units under a null name.- Parameters:
type
- the type of theUnit
to find- Returns:
- the
Unit
-
toString
Returns aString
object representing theUnit
-
computeName
-
addSIname
private static void addSIname(int si, String name, StringBuilder numerator, StringBuilder denominator) -
isSpecial
private boolean isSpecial()Checks whether the unit has a special type, i.e. not a SI unit.- Returns:
- true if the type is special, otherwise false.
-