public class ExpressionBuilder
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PROPERTY_UNARY_HIGH_PRECEDENCE
Property name for unary precedence choice.
|
Constructor and Description |
---|
ExpressionBuilder(java.lang.String expression)
Create a new ExpressionBuilder
|
Modifier and Type | Method and Description |
---|---|
Calculable |
build()
build a new
Calculable from the expression using the supplied variables |
ExpressionBuilder |
withCustomFunction(CustomFunction function)
add a custom function instance for the evaluator to recognize
|
ExpressionBuilder |
withCustomFunctions(java.util.Collection<CustomFunction> functions) |
ExpressionBuilder |
withExpression(java.lang.String expression)
set the mathematical expression for parsing
|
ExpressionBuilder |
withOperation(CustomOperator operation)
set a
CustomOperator to be used in the expression |
ExpressionBuilder |
withOperations(java.util.Collection<CustomOperator> operations)
set a
Collection of CustomOperator to use in the expression |
ExpressionBuilder |
withVariable(java.lang.String variableName,
double value)
set the value for a variable
|
ExpressionBuilder |
withVariableNames(java.lang.String... variableNames)
set the variables names used in the expression without setting their values
|
ExpressionBuilder |
withVariables(java.util.Map<java.lang.String,java.lang.Double> variableMap)
set the values for variables
|
public static final java.lang.String PROPERTY_UNARY_HIGH_PRECEDENCE
public ExpressionBuilder(java.lang.String expression)
expression
- the expression to evaluatepublic Calculable build() throws UnknownFunctionException, UnparsableExpressionException
Calculable
from the expression using the supplied variablesCalculable
which can be used to evaluate the expressionUnknownFunctionException
- when an unrecognized function name is used in the expressionUnparsableExpressionException
- if the expression could not be parsedpublic ExpressionBuilder withCustomFunction(CustomFunction function)
function
- the CustomFunction
to addExpressionBuilder
instancepublic ExpressionBuilder withCustomFunctions(java.util.Collection<CustomFunction> functions)
public ExpressionBuilder withVariable(java.lang.String variableName, double value)
variableName
- the variable name e.g. "x"value
- the value e.g. 2.32dExpressionBuilder
instancepublic ExpressionBuilder withVariableNames(java.lang.String... variableNames)
variableNames
- vararg String
of the variable names used in the expressionpublic ExpressionBuilder withVariables(java.util.Map<java.lang.String,java.lang.Double> variableMap)
variableMap
- a map of variable names to variable valuesExpressionBuilder
instancepublic ExpressionBuilder withOperation(CustomOperator operation)
CustomOperator
to be used in the expressionoperation
- the CustomOperator
to be usedExpressionBuilder
instancepublic ExpressionBuilder withOperations(java.util.Collection<CustomOperator> operations)
Collection
of CustomOperator
to use in the expressionoperations
- the Collection
of CustomOperator
to useExpressionBuilder
instancepublic ExpressionBuilder withExpression(java.lang.String expression)
expression
- a mathematical expressionExpressionBuilder
instance