Package com.singularsys.jep.bigdecimal
Class BigDecOperatorTable
- java.lang.Object
-
- com.singularsys.jep.EmptyOperatorTable
-
- com.singularsys.jep.OperatorTable2
-
- com.singularsys.jep.standard.StandardOperatorTable2
-
- com.singularsys.jep.bigdecimal.BigDecOperatorTable
-
- All Implemented Interfaces:
JepComponent
,OperatorTableI
,java.io.Serializable
public class BigDecOperatorTable extends StandardOperatorTable2
A set of operators for using BigDecimal numbers- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.singularsys.jep.OperatorTable2
OperatorTable2.BasicOperators, OperatorTable2.PsudoOperators, OperatorTable2.SpecialOperators
-
Nested classes/interfaces inherited from class com.singularsys.jep.EmptyOperatorTable
EmptyOperatorTable.OperatorKey
-
-
Constructor Summary
Constructors Modifier Constructor Description BigDecOperatorTable(OperatorTable2 oldTable, java.math.MathContext mc)
BigDecOperatorTable(java.math.MathContext mc)
BigDecOperatorTable(java.math.MathContext mc, boolean allowStrings)
Create an operator table specifying the math context and whether string operations can be usedprotected
BigDecOperatorTable(java.math.MathContext mc, java.util.Map<EmptyOperatorTable.OperatorKey,Operator> map)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.MathContext
getMathContext()
void
setAllowStrings(boolean allowStrings)
Sets the allowStrings flag of the operators.protected void
setBasicPfmcs()
Sets the standard set of pfmc's for basic operators.protected void
setBDPfmcs()
void
setMathContext(java.math.MathContext mc)
OperatorTableI
shallowCopy()
Create a new version of this OperatorTable.-
Methods inherited from class com.singularsys.jep.standard.StandardOperatorTable2
setPsudoPfmcs, setSpecialPfmcs
-
Methods inherited from class com.singularsys.jep.OperatorTable2
getAdd, getAnd, getAssign, getCross, getDivide, getDot, getEle, getEQ, getGE, getGT, getLE, getList, getLT, getMod, getMultiply, getNE, getNop, getNot, getOr, getPower, getRange, getSubtract, getUDivide, getUMinus, getUPlus
-
Methods inherited from class com.singularsys.jep.EmptyOperatorTable
addOperator, addOperator, addOperator, appendOperator, appendOperator, entrySet, getKey, getLightWeightInstance, getNumOps, getOperator, getOperatorMap, getOperators, getOperatorsByName, getOperatorsBySymbol, init, insertOperator, insertOperator, keySet, removeOperator, removeOperator, replaceOperator, replaceOperator, setBinaryInverseOp, setDistributiveOver, setGroupOperatorRelations, setGroupOperatorRelations, setInverseOp, setPrecedenceTable, setRootOp, setStandardOperatorRelations, threadSafeMapCopy, toString
-
-
-
-
Constructor Detail
-
BigDecOperatorTable
public BigDecOperatorTable(java.math.MathContext mc)
-
BigDecOperatorTable
public BigDecOperatorTable(OperatorTable2 oldTable, java.math.MathContext mc)
- Parameters:
oldTable
-
-
BigDecOperatorTable
public BigDecOperatorTable(java.math.MathContext mc, boolean allowStrings)
Create an operator table specifying the math context and whether string operations can be used- Parameters:
mc
-allowStrings
- whether strings can be used.- Since:
- 3.4.0
-
BigDecOperatorTable
protected BigDecOperatorTable(java.math.MathContext mc, java.util.Map<EmptyOperatorTable.OperatorKey,Operator> map)
-
-
Method Detail
-
setBasicPfmcs
protected void setBasicPfmcs()
Description copied from class:StandardOperatorTable2
Sets the standard set of pfmc's for basic operators. This method is called by the constructor and subclasses can override this method to change or prevent building of these pfmcs.- Overrides:
setBasicPfmcs
in classStandardOperatorTable2
- See Also:
OperatorTable2.BasicOperators
-
setBDPfmcs
protected void setBDPfmcs()
-
getMathContext
public java.math.MathContext getMathContext()
-
setMathContext
public void setMathContext(java.math.MathContext mc)
-
setAllowStrings
public void setAllowStrings(boolean allowStrings)
Sets the allowStrings flag of the operators.- Parameters:
allowStrings
-- Since:
- 3.4.0
-
shallowCopy
public OperatorTableI shallowCopy()
Description copied from class:EmptyOperatorTable
Create a new version of this OperatorTable. Operators are copied into new table. However Operators whose pfmc implement JepComponent are duplicated. This means the table could be used in a separate thread without problem. Subclasses should override with method to return a table of the correct type, a typical implementation would be@Override public OperatorTableI shallowCopy() { Map<OperatorKey, Operator> map = this.threadSafeMapCopy(); return new MyOperatorTable(map); }
using theEmptyOperatorTable.threadSafeMapCopy()
method to return a copy of the map of operators and a constructor taking this map which uses theEmptyOperatorTable(Map)
constructor.- Specified by:
shallowCopy
in interfaceOperatorTableI
- Overrides:
shallowCopy
in classStandardOperatorTable2
- Returns:
- a new Table
-
-