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 and Description
    `LogicExpression(BooleanExpression left, BooleanExpression right)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static BooleanExpression` | `createAND(BooleanExpression lvalue, BooleanExpression rvalue)`
    `static BooleanExpression` | `createOR(BooleanExpression lvalue, BooleanExpression rvalue)`
    `abstract 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 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`

Copyright © 2020 The Apache Software Foundation. All rights reserved.