public abstract class AbstractExpressionEvaluator extends java.lang.Object implements ExpressionEvaluator
ExpressionEvaluator.| Modifier and Type | Field and Description |
|---|---|
protected boolean |
allowLeftNull |
protected static java.lang.String |
LEFT_OP_MISSING |
protected static java.lang.String |
LEFT_OP_NOT_SUPPORTED |
protected static java.lang.String |
OPERATOR_MISSING |
protected static java.lang.String |
OPERATOR_NOT_SUPPORTED |
protected static java.lang.String |
RIGHT_OP_MISSING |
protected static java.lang.String |
RIGHT_OP_NOT_ALLOWED |
protected static java.lang.String |
RIGHT_OP_NOT_SUPPORTED |
| Constructor and Description |
|---|
AbstractExpressionEvaluator(java.lang.Class leftOperandType)
Constructs a
ExpressionEvaluator and takes passed type as type for left operand. |
| Modifier and Type | Method and Description |
|---|---|
void |
addSupportedOperator(java.lang.String operator)
Adds a new operator to the list of supported ones.
|
void |
addSupportedOperator(java.lang.String operator,
java.lang.Class type)
Adds a new operator to the list of supported ones and registers passed type as supported type for right operand
whenever this operator is chosen
|
void |
addSupportedOperator(java.lang.String operator,
java.util.Collection<java.lang.Class> types)
Adds a new operator to the list of supported ones and registers passed types as supported types for right operand
whenever this operator is chosen
|
boolean |
evaluate(java.lang.Object leftOperand,
java.lang.String operator,
java.lang.Object rightOperand)
Evaluates this expression.
|
abstract boolean |
evaluateTerm(java.lang.Object leftOperand,
java.lang.String operator,
java.lang.Object rightOperand)
Evaluates this expression without any error or validation checking.
|
java.lang.Class |
getLeftType()
Returns the type which is expected for left operand.
|
java.util.Collection<java.lang.String> |
getSupportedOperators()
Returns a Collection of supported Operators.
|
java.util.Collection<java.lang.Class> |
getSupportedRightTypes(java.lang.String operator)
Returns a Collection of types which are supported as right Operand.
|
boolean |
isSupported(java.lang.Class leftType,
java.lang.String operator,
java.lang.Class rightType)
Returns true when type of left and right operand and the passed operator is supported.
|
boolean |
isSupported(java.lang.Class leftType,
java.lang.String operator,
java.lang.Class rightType,
boolean strict)
Implements
ExpressionEvaluator.isSupported(Class, String, Class) but additionally adds a flag which, when
set to true, throws a ExpressionEvaluationException instead of returning just only false. |
protected static final java.lang.String LEFT_OP_MISSING
protected static final java.lang.String LEFT_OP_NOT_SUPPORTED
protected static final java.lang.String RIGHT_OP_MISSING
protected static final java.lang.String RIGHT_OP_NOT_SUPPORTED
protected static final java.lang.String RIGHT_OP_NOT_ALLOWED
protected static final java.lang.String OPERATOR_NOT_SUPPORTED
protected static final java.lang.String OPERATOR_MISSING
protected boolean allowLeftNull
public AbstractExpressionEvaluator(java.lang.Class leftOperandType)
ExpressionEvaluator and takes passed type as type for left operand.leftOperandType - type of left operandpublic java.lang.Class getLeftType()
ExpressionEvaluatorgetLeftType in interface ExpressionEvaluatorpublic java.util.Collection<java.lang.String> getSupportedOperators()
ExpressionEvaluatorgetSupportedOperators in interface ExpressionEvaluatorpublic void addSupportedOperator(java.lang.String operator)
operator - symbol of operator which shall be addedpublic void addSupportedOperator(java.lang.String operator,
java.lang.Class type)
operator - operator symboltype - supported type for right operandpublic void addSupportedOperator(java.lang.String operator,
java.util.Collection<java.lang.Class> types)
operator - operator symboltypes - supported types for right operandpublic java.util.Collection<java.lang.Class> getSupportedRightTypes(java.lang.String operator)
ExpressionEvaluatorgetSupportedRightTypes in interface ExpressionEvaluatoroperator - the operator which shall be appliedpublic boolean isSupported(java.lang.Class leftType,
java.lang.String operator,
java.lang.Class rightType)
ExpressionEvaluatorisSupported in interface ExpressionEvaluatorleftType - type of left operandoperator - the operatorrightType - type of right operandpublic boolean isSupported(java.lang.Class leftType,
java.lang.String operator,
java.lang.Class rightType,
boolean strict)
ExpressionEvaluator.isSupported(Class, String, Class) but additionally adds a flag which, when
set to true, throws a ExpressionEvaluationException instead of returning just only false.leftType - type of left operandoperator - operator symbolrightType - type of right operandstrict - when true throws an exception in case passed arguments are not supported in that combinationpublic boolean evaluate(java.lang.Object leftOperand,
java.lang.String operator,
java.lang.Object rightOperand)
ExpressionEvaluatorExpressionEvaluationException is
thrown. Returns true when expression evaluates to true, returns false otherwise.evaluate in interface ExpressionEvaluatorleftOperand - value for left operandoperator - operatorrightOperand - value for right operandpublic abstract boolean evaluateTerm(java.lang.Object leftOperand,
java.lang.String operator,
java.lang.Object rightOperand)
leftOperand - value for left operandoperator - operator symbolrightOperand - value for right operandCopyright © 2018 SAP SE. All Rights Reserved.