com.tibbo.aggregate.common.filter

## Class BinaryOperation

- java.lang.Object
- - com.tibbo.aggregate.common.filter.Operation
  - - com.tibbo.aggregate.common.filter.BinaryOperation

- All Implemented Interfaces:
    Expression
  Direct Known Subclasses:
    AbstractBaseBinaryOperation, BinaryStringOperation

      public abstract class BinaryOperation
      extends Operation

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Expression` | `operand1`
    `protected Expression` | `operand2`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BinaryOperation(java.lang.String name, Expression operand1, Expression operand2)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract java.lang.Object` | `binaryEvaluation(java.lang.Object operand1, java.lang.Object operand2)`
    `java.lang.Object` | `evaluate()`
    `protected abstract java.util.List<java.lang.Object>` | `evaluateOperands()`
    `Expression[]` | `getChildren()`
    `int` | `getOperandCount()`

    - ### Methods inherited from class com.tibbo.aggregate.common.filter.Operation

      `getName`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.tibbo.aggregate.common.filter.Expression

      `getDescription, getPriority`

- - ### Field Detail

    - #### operand1

          protected final Expression operand1

    - #### operand2

          protected final Expression operand2

  - ### Constructor Detail

    - #### BinaryOperation

          public BinaryOperation(java.lang.String name,
                                 Expression operand1,
                                 Expression operand2)

  - ### Method Detail

    - #### evaluateOperands

          protected abstract java.util.List<java.lang.Object> evaluateOperands()

    - #### binaryEvaluation

          protected abstract java.lang.Object binaryEvaluation(java.lang.Object operand1,
                                                               java.lang.Object operand2)

    - #### evaluate

          public final java.lang.Object evaluate()

    - #### getOperandCount

          public final int getOperandCount()

      Specified by:
        `getOperandCount` in class `Operation`

    - #### getChildren

          public final Expression[] getChildren()