## Uses of Interface
org.apache.activemq.artemis.selector.filter.Expression

- Packages that use Expression
  Package | Description
  --- | ---
  org.apache.activemq.artemis.selector.filter | Filter implementations for wildcards & JMS selectors
  org.apache.activemq.artemis.selector.hyphenated |
  org.apache.activemq.artemis.selector.strict |

- - ### Uses of Expression in org.apache.activemq.artemis.selector.filter

    Subinterfaces of Expression in org.apache.activemq.artemis.selector.filter
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `BooleanExpression` | A BooleanExpression is an expression that always produces a Boolean result.

    Classes in org.apache.activemq.artemis.selector.filter that implement Expression
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ArithmeticExpression` | An expression which performs an operation on two expression values
    `class` | `BinaryExpression` | An expression which performs an operation on two expression values.
    `class` | `ComparisonExpression` | A filter performing a comparison of two objects
    `class` | `ConstantExpression` | Represents a constant expression
    `class` | `LogicExpression` | A filter performing a comparison of two objects
    `class` | `PropertyExpression` | Represents a property expression
    `class` | `UnaryExpression` | An expression which performs an operation on two expression values
    `class` | `XPathExpression` | Used to evaluate an XPath Expression in a JMS selector.
    `class` | `XQueryExpression` | Used to evaluate an XQuery Expression in a JMS selector.

    Fields in org.apache.activemq.artemis.selector.filter declared as Expression
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Expression` | BinaryExpression.`left` |
    `protected Expression` | BinaryExpression.`right` |
    `protected Expression` | UnaryExpression.`right` |

    Methods in org.apache.activemq.artemis.selector.filter that return Expression
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Expression` | ArithmeticExpression.`createDivide​(Expression left, Expression right)` |
    `static Expression` | ArithmeticExpression.`createMinus​(Expression left, Expression right)` |
    `static Expression` | ArithmeticExpression.`createMod​(Expression left, Expression right)` |
    `static Expression` | ArithmeticExpression.`createMultiply​(Expression left, Expression right)` |
    `static Expression` | UnaryExpression.`createNegate​(Expression left)` |
    `static Expression` | ArithmeticExpression.`createPlus​(Expression left, Expression right)` |
    `Expression` | BinaryExpression.`getLeft()` |
    `Expression` | BinaryExpression.`getRight()` |
    `Expression` | UnaryExpression.`getRight()` |

    Methods in org.apache.activemq.artemis.selector.filter with parameters of type Expression
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | ComparisonExpression.`checkEqualOperand​(Expression expr)` | Validates that the expression can be used in `==` or `<>` expression.
    `static void` | ComparisonExpression.`checkLessThanOperand​(Expression expr)` | Only Numeric expressions can be used in `>`, `>=`, `<` or `<=` expressions.
    `static BooleanExpression` | ComparisonExpression.`createBetween​(Expression value, Expression left, Expression right)` |
    `static BooleanExpression` | UnaryExpression.`createBooleanCast​(Expression left)` |
    `static Expression` | ArithmeticExpression.`createDivide​(Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createEqual​(Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createGreaterThan​(Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createGreaterThanEqual​(Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createInFilter​(Expression left, java.util.List<java.lang.Object> elements)` |
    `static BooleanExpression` | ComparisonExpression.`createIsNotNull​(Expression left)` |
    `static BooleanExpression` | ComparisonExpression.`createIsNull​(Expression left)` |
    `static BooleanExpression` | ComparisonExpression.`createLessThan​(Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createLessThanEqual​(Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createLike​(Expression left, java.lang.String right, java.lang.String escape)` |
    `static Expression` | ArithmeticExpression.`createMinus​(Expression left, Expression right)` |
    `static Expression` | ArithmeticExpression.`createMod​(Expression left, Expression right)` |
    `static Expression` | ArithmeticExpression.`createMultiply​(Expression left, Expression right)` |
    `static Expression` | UnaryExpression.`createNegate​(Expression left)` |
    `static BooleanExpression` | ComparisonExpression.`createNotBetween​(Expression value, Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createNotEqual​(Expression left, Expression right)` |
    `static BooleanExpression` | ComparisonExpression.`createNotInFilter​(Expression left, java.util.List<java.lang.Object> elements)` |
    `static BooleanExpression` | ComparisonExpression.`createNotLike​(Expression left, java.lang.String right, java.lang.String escape)` |
    `static Expression` | ArithmeticExpression.`createPlus​(Expression left, Expression right)` |
    `void` | BinaryExpression.`setLeft​(Expression expression)` |
    `void` | BinaryExpression.`setRight​(Expression expression)` |
    `void` | UnaryExpression.`setRight​(Expression expression)` |

    Constructors in org.apache.activemq.artemis.selector.filter with parameters of type Expression
    Constructor | Description
    --- | ---
    `ArithmeticExpression​(Expression left, Expression right)` |
    `BinaryExpression​(Expression left, Expression right)` |
    `ComparisonExpression​(Expression left, Expression right)` |
    `UnaryExpression​(Expression left)` |

  - ### Uses of Expression in org.apache.activemq.artemis.selector.hyphenated

    Methods in org.apache.activemq.artemis.selector.hyphenated that return Expression
    Modifier and Type | Method | Description
    --- | --- | ---
    `Expression` | HyphenatedParser.`addExpression()` |
    `Expression` | HyphenatedParser.`andExpression()` |
    `Expression` | HyphenatedParser.`comparisonExpression()` |
    `Expression` | HyphenatedParser.`equalityExpression()` |
    `Expression` | HyphenatedParser.`multExpr()` |
    `Expression` | HyphenatedParser.`orExpression()` |
    `Expression` | HyphenatedParser.`primaryExpr()` |
    `Expression` | HyphenatedParser.`unaryExpr()` |

  - ### Uses of Expression in org.apache.activemq.artemis.selector.strict

    Methods in org.apache.activemq.artemis.selector.strict that return Expression
    Modifier and Type | Method | Description
    --- | --- | ---
    `Expression` | StrictParser.`addExpression()` |
    `Expression` | StrictParser.`andExpression()` |
    `Expression` | StrictParser.`comparisonExpression()` |
    `Expression` | StrictParser.`equalityExpression()` |
    `Expression` | StrictParser.`multExpr()` |
    `Expression` | StrictParser.`orExpression()` |
    `Expression` | StrictParser.`primaryExpr()` |
    `Expression` | StrictParser.`unaryExpr()` |