Package org.springframework.expression
Interface OperatorOverloader
- All Known Implementing Classes:
StandardOperatorOverloader
public interface OperatorOverloader
By default the mathematical operators
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.- Since:
- 3.0
- Author:
- Andy Clement
-
Method Summary
Modifier and TypeMethodDescriptionExecute 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.
-
Method Details
-
overridesOperation
boolean overridesOperation(Operation operation, @Nullable Object leftOperand, @Nullable Object rightOperand) throws EvaluationException Return true if the operator overloader supports the specified operation between the two operands and so should be invoked to handle it.- Parameters:
operation
- the operation to be performedleftOperand
- the left operandrightOperand
- the right operand- Returns:
- true if the OperatorOverloader supports the specified operation between the two operands
- Throws:
EvaluationException
- if there is a problem performing the operation
-
operate
Object operate(Operation operation, @Nullable Object leftOperand, @Nullable Object rightOperand) throws EvaluationException Execute the specified operation on two operands, returning a result. SeeOperation
for supported operations.- Parameters:
operation
- the operation to be performedleftOperand
- the left operandrightOperand
- the right operand- Returns:
- the result of performing the operation on the two operands
- Throws:
EvaluationException
- if there is a problem performing the operation
-