public interface OperatorOverloader
Operation
support simple types
like numbers. By providing an implementation of OperatorOverloader, a user
of the expression language can support these operations on other types.Modifier and Type | Method and Description |
---|---|
Object |
operate(Operation operation,
Object leftOperand,
Object rightOperand)
Execute the specified operation on two operands, returning a result.
|
boolean |
overridesOperation(Operation operation,
Object leftOperand,
Object rightOperand)
Return true if the operator overloader supports the specified operation
between the two operands and so should be invoked to handle it.
|
boolean overridesOperation(Operation operation, @Nullable Object leftOperand, @Nullable Object rightOperand) throws EvaluationException
operation
- the operation to be performedleftOperand
- the left operandrightOperand
- the right operandEvaluationException
- if there is a problem performing the operationObject operate(Operation operation, @Nullable Object leftOperand, @Nullable Object rightOperand) throws EvaluationException
Operation
for supported operations.operation
- the operation to be performedleftOperand
- the left operandrightOperand
- the right operandEvaluationException
- if there is a problem performing the operation