Package org.apache.activemq.artemis.selector.filter

## Class LogicExpression

- java.lang.Object
- - org.apache.activemq.artemis.selector.filter.BinaryExpression
  - - org.apache.activemq.artemis.selector.filter.LogicExpression

- All Implemented Interfaces:
    `BooleanExpression`, `Expression`

      public abstract class LogicExpression
      extends BinaryExpression
      implements BooleanExpression

  A filter performing a comparison of two objects
  Version:
    $Revision: 1.2 $

- - ### Field Summary

    - ### Fields inherited from class org.apache.activemq.artemis.selector.filter.BinaryExpression

      `left, right`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LogicExpression​(BooleanExpression left, BooleanExpression right)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static BooleanExpression` | `createAND​(BooleanExpression lvalue, BooleanExpression rvalue)` |
    `static BooleanExpression` | `createOR​(BooleanExpression lvalue, BooleanExpression rvalue)` |
    `abstract java.lang.Object` | `evaluate​(Filterable message)` |
    `boolean` | `matches​(Filterable message)` |

    - ### Methods inherited from class org.apache.activemq.artemis.selector.filter.BinaryExpression

      `equals, getExpressionSymbol, getLeft, getRight, hashCode, setLeft, setRight, toString`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### LogicExpression

          public LogicExpression​(BooleanExpression left,
                                 BooleanExpression right)

      Parameters:
        `left` -
        `right` -

  - ### Method Detail

    - #### createOR

          public static BooleanExpression createOR​(BooleanExpression lvalue,
                                                   BooleanExpression rvalue)

    - #### createAND

          public static BooleanExpression createAND​(BooleanExpression lvalue,
                                                    BooleanExpression rvalue)

    - #### evaluate

          public abstract java.lang.Object evaluate​(Filterable message)
                                             throws FilterException

      Specified by:
        `evaluate` in interface `Expression`
      Returns:
        the value of this expression
      Throws:
        `FilterException`

    - #### matches

          public boolean matches​(Filterable message)
                          throws FilterException

      Specified by:
        `matches` in interface `BooleanExpression`
      Returns:
        true if the expression evaluates to Boolean.TRUE.
      Throws:
        `FilterException`