Class NullWrappedFunctionTable
- java.lang.Object
-
- com.singularsys.jep.FunctionTable
-
- com.singularsys.jep.misc.nullwrapper.NullWrappedFunctionTable
-
- All Implemented Interfaces:
JepComponent
,java.io.Serializable
public class NullWrappedFunctionTable extends FunctionTable
A function table which wraps all the functions in an existing table.- Since:
- 3.4
- Author:
- Richard Morris
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.singularsys.jep.FunctionTable
table
-
-
Constructor Summary
Constructors Modifier Constructor Description NullWrappedFunctionTable(FunctionTable root)
Create a new function table which wraps all the functions in the original table.NullWrappedFunctionTable(FunctionTable root, NullWrappedFunctionFactory factory)
A table where a specific NullWrapperFunctionFactory is defined.protected
NullWrappedFunctionTable(FunctionTable root, NullWrappedFunctionFactory factory, java.util.Map<java.lang.String,PostfixMathCommandI> tbl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PostfixMathCommandI
addFunction(java.lang.String name, PostfixMathCommandI pfmc)
FunctionTable
shallowCopy()
Returns a new shallow copy of this function table.-
Methods inherited from class com.singularsys.jep.FunctionTable
clear, containsKey, containsValue, entrySet, getFunction, getLightWeightInstance, init, isEmpty, keySet, remove, size, threadSafeMapCopy, toString, values
-
-
-
-
Constructor Detail
-
NullWrappedFunctionTable
public NullWrappedFunctionTable(FunctionTable root)
Create a new function table which wraps all the functions in the original table. For each function in the original it will first callNullWrappedFunctionFactory.getWrappedFunction(PostfixMathCommandI)
to find the appropriate function.- Parameters:
root
- the original table
-
NullWrappedFunctionTable
protected NullWrappedFunctionTable(FunctionTable root, NullWrappedFunctionFactory factory, java.util.Map<java.lang.String,PostfixMathCommandI> tbl)
-
NullWrappedFunctionTable
public NullWrappedFunctionTable(FunctionTable root, NullWrappedFunctionFactory factory)
A table where a specific NullWrapperFunctionFactory is defined.- Parameters:
root
-factory
-
-
-
Method Detail
-
addFunction
public PostfixMathCommandI addFunction(java.lang.String name, PostfixMathCommandI pfmc)
- Overrides:
addFunction
in classFunctionTable
-
shallowCopy
public FunctionTable shallowCopy()
Description copied from class:FunctionTable
Returns a new shallow copy of this function table. Calls theFunctionTable.threadSafeMapCopy()
method to ensure the table is safe to use a separate thread. All sub-classes should override this methods to create a function table of the matching type. A typical implementation would be@Override public FunctionTable shallowCopy() { Map<String,PostfixMathCommandI> newMap = this.threadSafeMapCopy(); return new myFunctionTable(newMap); }
using theFunctionTable.threadSafeMapCopy()
method to return a copy of the map of operators and a constructor taking this map which uses theFunctionTable(Map)
constructor.- Overrides:
shallowCopy
in classFunctionTable
- Returns:
- a new shallow copy of this function table
-
-