Class NullWrappedFunctionTable
java.lang.Object
com.singularsys.jep.FunctionTable
com.singularsys.jep.misc.nullwrapper.NullWrappedFunctionTable
- All Implemented Interfaces:
JepComponent,Serializable
A function table which wraps all the functions in an existing table.
- Since:
- 3.4
- Author:
- Richard Morris
- See Also:
-
Field Summary
Fields inherited from class com.singularsys.jep.FunctionTable
table -
Constructor Summary
ConstructorsModifierConstructorDescriptionCreate 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.protectedNullWrappedFunctionTable(FunctionTable root, NullWrappedFunctionFactory factory, Map<String, PostfixMathCommandI> tbl) -
Method Summary
Modifier and TypeMethodDescriptionaddFunction(String name, PostfixMathCommandI pfmc) 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 Details
-
NullWrappedFunctionTable
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, Map<String, PostfixMathCommandI> tbl) -
NullWrappedFunctionTable
A table where a specific NullWrapperFunctionFactory is defined.- Parameters:
root-factory-
-
-
Method Details
-
addFunction
- Overrides:
addFunctionin classFunctionTable
-
shallowCopy
Description copied from class:FunctionTableReturns a new shallow copy of this function table. Calls theFunctionTable.threadSafeMapCopy()method to ensure the table is safe to use a separate thread. All subclasses should override this method 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:
shallowCopyin classFunctionTable- Returns:
- a new shallow copy of this function table
-