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