com.holonplatform.core.query

## Interface QueryExpression<T>

- Type Parameters:
    `T` - Expression type
  All Superinterfaces:
    Expression, TypedExpression<T>
  All Known Subinterfaces:
    BeanProperty<T>, BeanProperty.Builder<T>, BooleanBeanProperty, BooleanProperty, BooleanProperty.BooleanPropertyBuilder, CollectionPathProperty<E,C>, ListPathProperty<T>, ListPathProperty.ListPathPropertyBuilder<T>, NumericBeanProperty<N>, NumericProperty<N>, NumericProperty.NumericPropertyBuilder<N>, NumericQueryExpression<N>, PathExpression<T>, PathProperty<T>, PathProperty.PathPropertyBuilder<T>, PropertyBoxProperty, PropertyBoxProperty.PropertyBoxPropertyBuilder, QueryFunction<T,A>, QueryFunction.Avg, QueryFunction.Count, QueryFunction.Max<T>, QueryFunction.Min<T>, QueryFunction.NoArgQueryFunction<T>, QueryFunction.PropertyQueryFunction<T,A>, QueryFunction.Sum<T>, SetPathProperty<T>, SetPathProperty.SetPathPropertyBuilder<T>, StringBeanProperty, StringFunction, StringFunction.Lower, StringFunction.Upper, StringProperty, StringProperty.StringPropertyBuilder, StringQueryExpression, SubQuery<T>, TemporalBeanProperty<T>, TemporalFunction<T>, TemporalFunction.CurrentDate, TemporalFunction.CurrentLocalDate, TemporalFunction.CurrentLocalDateTime, TemporalFunction.CurrentTimestamp, TemporalFunction.Day, TemporalFunction.Hour, TemporalFunction.Month, TemporalFunction.Year, TemporalProperty<T>, TemporalProperty.TemporalPropertyBuilder<T>, TemporalQueryExpression<T>

      public interface QueryExpression<T>
      extends TypedExpression<T>

  Represent a general typed expression used by `Query` clauses.
  Since:
    5.0.0

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Expression

      `Expression.ExpressionResolverFunction<E extends Expression,R extends Expression>, Expression.InvalidExpressionException`

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default QueryFilter` | `between(T from, T to)` Build a filter on this expression, which checks if property value is between given `from` and `to` values.
    `default QueryFunction.Count` | `count()` Create an aggregation function expression using the `QueryFunction.Count` function.
    `default QueryFilter` | `eq(T value)` Build a filter on this expression, which checks if property value is equal to given constant value.
    `default QueryFilter` | `eq(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is equal to given `expression` value.
    `default QueryFilter` | `goe(T value)` Build a filter on this expression, which checks if property value is greater than or equal to given constant value.
    `default QueryFilter` | `goe(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is greater than or equal to given `expression` value.
    `default QueryFilter` | `gt(T value)` Build a filter on this expression, which checks if property value is greater than given constant value.
    `default QueryFilter` | `gt(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is greater than given `expression` value.
    `default QueryFilter` | `in(Collection<T> values)` Build a filter on this expression, which checks if property value is included in given constant values.
    `default QueryFilter` | `in(T... values)` Build a filter on this expression, which checks if property value is included in given constant values.
    `default QueryFilter` | `in(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is included in given `expression` values.
    `default QueryFilter` | `isNotNull()` Build a filter on this expression, which checks if property value is not `null`.
    `default QueryFilter` | `isNull()` Build a filter on this expression, which checks if property value is `null`.
    `default QueryFilter` | `loe(T value)` Build a filter on this expression, which checks if property value is less than or equal to given constant value.
    `default QueryFilter` | `loe(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is less than or equal to given `expression` value.
    `default QueryFilter` | `lt(T value)` Build a filter on this expression, which checks if property value is less than given constant value.
    `default QueryFilter` | `lt(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is less than given `expression` value.
    `default QueryFunction.Max<T>` | `max()` Create an aggregation function expression using the `QueryFunction.Max` function.
    `default QueryFunction.Min<T>` | `min()` Create an aggregation function expression using the `QueryFunction.Min` function.
    `default QueryFilter` | `neq(T value)` Build a filter on this expression, which checks if property value is not equal to given constant value.
    `default QueryFilter` | `neq(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is not equal to given `expression` value.
    `default QueryFilter` | `nin(Collection<T> values)` Build a filter on this expression, which checks if property value is not included in given constant values.
    `default QueryFilter` | `nin(T... values)` Build a filter on this expression, which checks if property value is not included in given constant values.
    `default QueryFilter` | `nin(TypedExpression<? super T> expression)` Build a filter on this expression, which checks if property value is not included in given `expression` values.

    - ### Methods inherited from interface com.holonplatform.core.TypedExpression

      `getTemporalType, getType, isCollectionExpression, isConverterExpression`

    - ### Methods inherited from interface com.holonplatform.core.Expression

      `validate`

- - ### Method Detail

    - #### isNull

          default QueryFilter isNull()

      Build a filter on this expression, which checks if property value is `null`.
      Returns:
        The QueryFilter

    - #### isNotNull

          default QueryFilter isNotNull()

      Build a filter on this expression, which checks if property value is not `null`.
      Returns:
        The QueryFilter

    - #### eq

          default QueryFilter eq(T value)

      Build a filter on this expression, which checks if property value is equal to given constant value.
      Parameters:
        `value` - Filter value (not null)
      Returns:
        The QueryFilter

    - #### eq

          default QueryFilter eq(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is equal to given `expression` value.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### neq

          default QueryFilter neq(T value)

      Build a filter on this expression, which checks if property value is not equal to given constant value.
      Parameters:
        `value` - Filter value (not null)
      Returns:
        This QueryFilter

    - #### neq

          default QueryFilter neq(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is not equal to given `expression` value.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### lt

          default QueryFilter lt(T value)

      Build a filter on this expression, which checks if property value is less than given constant value.
      Parameters:
        `value` - Filter value (not null)
      Returns:
        The QueryFilter

    - #### lt

          default QueryFilter lt(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is less than given `expression` value.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### loe

          default QueryFilter loe(T value)

      Build a filter on this expression, which checks if property value is less than or equal to given constant value.
      Parameters:
        `value` - Filter value (not null)
      Returns:
        The QueryFilter

    - #### loe

          default QueryFilter loe(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is less than or equal to given `expression` value.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### gt

          default QueryFilter gt(T value)

      Build a filter on this expression, which checks if property value is greater than given constant value.
      Parameters:
        `value` - Filter value (not null)
      Returns:
        The QueryFilter

    - #### gt

          default QueryFilter gt(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is greater than given `expression` value.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### goe

          default QueryFilter goe(T value)

      Build a filter on this expression, which checks if property value is greater than or equal to given constant value.
      Parameters:
        `value` - Filter value (not null)
      Returns:
        The QueryFilter

    - #### goe

          default QueryFilter goe(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is greater than or equal to given `expression` value.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### in

          default QueryFilter in(T... values)

      Build a filter on this expression, which checks if property value is included in given constant values.
      Parameters:
        `values` - Filter values (not null)
      Returns:
        The QueryFilter

    - #### in

          default QueryFilter in(Collection<T> values)

      Build a filter on this expression, which checks if property value is included in given constant values.
      Parameters:
        `values` - Filter values (not null)
      Returns:
        The QueryFilter

    - #### in

          default QueryFilter in(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is included in given `expression` values.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### nin

          default QueryFilter nin(T... values)

      Build a filter on this expression, which checks if property value is not included in given constant values.
      Parameters:
        `values` - Filter values (not null)
      Returns:
        The QueryFilter

    - #### nin

          default QueryFilter nin(Collection<T> values)

      Build a filter on this expression, which checks if property value is not included in given constant values.
      Parameters:
        `values` - Filter values (not null)
      Returns:
        The QueryFilter

    - #### nin

          default QueryFilter nin(TypedExpression<? super T> expression)

      Build a filter on this expression, which checks if property value is not included in given `expression` values.
      Parameters:
        `expression` - Right operand expression (not null)
      Returns:
        The QueryFilter

    - #### between

          default QueryFilter between(T from,
                                      T to)

      Build a filter on this expression, which checks if property value is between given `from` and `to` values.
      Parameters:
        `from` - From value (not null)
        `to` - To value (not null)
      Returns:
        The QueryFilter

    - #### count

          default QueryFunction.Count count()

      Create an aggregation function expression using the `QueryFunction.Count` function.

      The returned function is a `QueryFunction.PropertyQueryFunction`, to allow inclusion in property sets and handling within a `PropertyBox`.

      Returns:
        A `QueryFunction.Count` aggregation function expression

    - #### min

          default QueryFunction.Min<T> min()

      Create an aggregation function expression using the `QueryFunction.Min` function.

      The returned function is a `QueryFunction.PropertyQueryFunction`, to allow inclusion in property sets and handling within a `PropertyBox`.

      Returns:
        A `QueryFunction.Min` aggregation function expression

    - #### max

          default QueryFunction.Max<T> max()

      Create an aggregation function expression using the `QueryFunction.Max` function.

      The returned function is a `QueryFunction.PropertyQueryFunction`, to allow inclusion in property sets and handling within a `PropertyBox`.

      Returns:
        A `QueryFunction.Max` aggregation function expression

Copyright © 2019 The Holon Platform. All rights reserved.