public abstract class Conversion
extends java.lang.Object
Conversion (usually of type Conversion.Add or
Conversion.Mul is returned from the evaluation.| Modifier and Type | Class and Description |
|---|---|
static class |
Conversion.Add
Sums all
Conversion instances via BigDecimal.add(BigDecimal). |
static class |
Conversion.Int
Simply is a representation of a possibly large integer.
|
static class |
Conversion.Mul
Multiplies all
Conversion instances via
BigDecimal.multiply(BigDecimal). |
static class |
Conversion.Pow
Exponentiates two
Conversion instances via
BigDecimal.pow(int). |
static class |
Conversion.Rat
Divides two
Conversion instances via
BigDecimal.divide(BigDecimal, MathContext). |
static class |
Conversion.Sym
Simply represents the variable of the source unit so that
Conversion.Sym.convert(double) just returns the value passed in. |
| Modifier and Type | Field and Description |
|---|---|
protected Conversion[] |
conversions
Conversions, if any, which are passed into the constructor
of this instance.
|
| Constructor and Description |
|---|
Conversion(Conversion... conversions)
Primary constructor for a
Conversion object. |
| Modifier and Type | Method and Description |
|---|---|
static Conversion |
Add(Conversion... conversions)
Static helper for creating
Conversion.Add instances. |
abstract java.math.BigDecimal |
convert(double original)
Primary operator for
Conversion instances. |
static Conversion |
Int(long i)
Static helper for creating
Conversion.Int instances. |
static Conversion |
Int(java.lang.String i)
Static helper for creating
Conversion.Int instances. |
static Conversion |
Mul(Conversion... conversions)
Static helper for creating
Conversion.Mul instances. |
static Conversion |
Pow(long num,
int den)
Static helper for creating
Conversion.Pow instances. |
static Conversion |
Rat(Conversion... conversions)
Static helper for creating
Conversion.Rat instances. |
static Conversion |
Rat(long num,
long den)
Static helper for creating
Conversion.Rat instances. |
static Conversion |
Sym(java.lang.String sym)
Static helper for creating
Conversion.Sym instances. |
protected final Conversion[] conversions
Integer rather than
an Conversion.Int.public Conversion(Conversion... conversions)
Conversion object. No processing
happens during constructor. Instead, the convert(double)
method will handle descending through the recursive structure.conversions - can be empty.public static Conversion Add(Conversion... conversions)
Conversion.Add instances.public static Conversion Int(long i)
Conversion.Int instances.public static Conversion Int(java.lang.String i)
Conversion.Int instances.public static Conversion Mul(Conversion... conversions)
Conversion.Mul instances.public static Conversion Pow(long num, int den)
Conversion.Pow instances.public static Conversion Rat(long num, long den)
Conversion.Rat instances.public static Conversion Rat(Conversion... conversions)
Conversion.Rat instances.public static Conversion Sym(java.lang.String sym)
Conversion.Sym instances.public abstract java.math.BigDecimal convert(double original)
Conversion instances.original - A unit value which is to be processed through the
tree-like representation of this equation. Only Conversion.Sym objects
will actually use the "original" value.BigDecimal result from the calculation. If this value
maps to Double.NEGATIVE_INFINITY or
Double.POSITIVE_INFINITY, then a BigResult exception
should be thrown before returning to clients.