Package ome.model.units
Class Conversion
- java.lang.Object
-
- ome.model.units.Conversion
-
- Direct Known Subclasses:
Conversion.Add,Conversion.Int,Conversion.Mul,Conversion.Pow,Conversion.Rat,Conversion.Sym
public abstract class Conversion extends java.lang.ObjectBase-functor like object which can be used for preparing complex equations for converting from one unit to another. Primarily these classes and static methods are used via code-generation. Sympy-generated strings are placed directly into code. If the proper imports are in place, then a top-levelConversion(usually of typeConversion.AddorConversion.Mulis returned from the evaluation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classConversion.AddSums allConversioninstances viaBigDecimal.add(BigDecimal).static classConversion.IntSimply is a representation of a possibly large integer.static classConversion.MulMultiplies allConversioninstances viaBigDecimal.multiply(BigDecimal).static classConversion.PowExponentiates twoConversioninstances viaBigDecimal.pow(int).static classConversion.RatDivides twoConversioninstances viaBigDecimal.divide(BigDecimal, MathContext).static classConversion.SymSimply represents the variable of the source unit so thatConversion.Sym.convert(double)just returns the value passed in.
-
Field Summary
Fields Modifier and Type Field Description protected Conversion[]conversionsConversions, if any, which are passed into the constructor of this instance.
-
Constructor Summary
Constructors Constructor Description Conversion(Conversion... conversions)Primary constructor for aConversionobject.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static ConversionAdd(Conversion... conversions)Static helper for creatingConversion.Addinstances.abstract java.math.BigDecimalconvert(double original)Primary operator forConversioninstances.static ConversionInt(long i)Static helper for creatingConversion.Intinstances.static ConversionInt(java.lang.String i)Static helper for creatingConversion.Intinstances.static ConversionMul(Conversion... conversions)Static helper for creatingConversion.Mulinstances.static ConversionPow(long num, int den)Static helper for creatingConversion.Powinstances.static ConversionRat(long num, long den)Static helper for creatingConversion.Ratinstances.static ConversionRat(Conversion... conversions)Static helper for creatingConversion.Ratinstances.static ConversionSym(java.lang.String sym)Static helper for creatingConversion.Syminstances.
-
-
-
Field Detail
-
conversions
protected final Conversion[] conversions
Conversions, if any, which are passed into the constructor of this instance. If none are passed, then the implementation has a short-cut form, e.g. taking anIntegerrather than anConversion.Int.
-
-
Constructor Detail
-
Conversion
public Conversion(Conversion... conversions)
Primary constructor for aConversionobject. No processing happens during constructor. Instead, theconvert(double)method will handle descending through the recursive structure.- Parameters:
conversions- can be empty.
-
-
Method Detail
-
Add
public static Conversion Add(Conversion... conversions)
Static helper for creatingConversion.Addinstances.
-
Int
public static Conversion Int(long i)
Static helper for creatingConversion.Intinstances.
-
Int
public static Conversion Int(java.lang.String i)
Static helper for creatingConversion.Intinstances.
-
Mul
public static Conversion Mul(Conversion... conversions)
Static helper for creatingConversion.Mulinstances.
-
Pow
public static Conversion Pow(long num, int den)
Static helper for creatingConversion.Powinstances.
-
Rat
public static Conversion Rat(long num, long den)
Static helper for creatingConversion.Ratinstances.
-
Rat
public static Conversion Rat(Conversion... conversions)
Static helper for creatingConversion.Ratinstances.
-
Sym
public static Conversion Sym(java.lang.String sym)
Static helper for creatingConversion.Syminstances.
-
convert
public abstract java.math.BigDecimal convert(double original)
Primary operator forConversioninstances.- Parameters:
original- A unit value which is to be processed through the tree-like representation of this equation. OnlyConversion.Symobjects will actually use the "original" value.- Returns:
- a
BigDecimalresult from the calculation. If this value maps toDouble.NEGATIVE_INFINITYorDouble.POSITIVE_INFINITY, then aBigResultexception should be thrown before returning to clients.
-
-