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, Object leftOperand, 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, Object leftOperand, 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