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
 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.
 

Method Detail

overridesOperation

boolean overridesOperation(Operation operation,
                           Object leftOperand,
                           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 performed
leftOperand - the left operand
rightOperand - 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,
               Object leftOperand,
               Object rightOperand)
               throws EvaluationException
Execute the specified operation on two operands, returning a result. See Operation for supported operations.

Parameters:
operation - the operation to be performed
leftOperand - the left operand
rightOperand - the right operand
Returns:
the result of performing the operation on the two operands
Throws:
EvaluationException - if there is a problem performing the operation