com.holonplatform.core.query

## Interface PathExpression<T>

- Type Parameters:
    `T` - Path and expression type
  All Superinterfaces:
    DataMappable, Expression, Path<T>, QueryExpression<T>, QueryProjection<T>, Serializable, 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>, PathProperty<T>, PathProperty.PathPropertyBuilder<T>, PropertyBoxProperty, PropertyBoxProperty.PropertyBoxPropertyBuilder, SetPathProperty<T>, SetPathProperty.SetPathPropertyBuilder<T>, StringBeanProperty, StringProperty, StringProperty.StringPropertyBuilder, TemporalBeanProperty<T>, TemporalProperty<T>, TemporalProperty.TemporalPropertyBuilder<T>

      public interface PathExpression<T>
      extends Path<T>, QueryExpression<T>, QueryProjection<T>

  A `QueryExpression` wich represents a `Path`.
  Since:
    5.0.0

- - ### Nested Class Summary

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

      `Path.Builder<T,B extends Path.Builder<T,B>>, Path.FinalPath<T>, Path.PathBuilder<T>`

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

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

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.core.Path

      `PATH_HIERARCHY_SEPARATOR`

    - ### Fields inherited from interface com.holonplatform.core.DataMappable

      `DEFAULT_CONFIG_PROPERTY_PREFIX, PATH`

  - ### Method Summary

    All Methods Static Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default QuerySort` | `asc()` Build a `QuerySort.SortDirection.ASCENDING` sort using this property.
    `static <T> PathExpression<T>` | `create(String name, Class<? extends T> type)` Create a `PathExpression`.
    `default QuerySort` | `desc()` Build a `QuerySort.SortDirection.DESCENDING` sort using this property.
    `static <T> PathExpression<T>` | `from(Path<T> path)` Create a `PathExpression` from given `Path`.

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

      `fullName, fullName, getName, getParent, isRootPath, of, relativeName, relativeName, stream`

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

      `getDataPath, isDataMappable`

    - ### Methods inherited from interface com.holonplatform.core.query.QueryExpression

      `between, count, eq, eq, goe, goe, gt, gt, in, in, in, isNotNull, isNull, loe, loe, lt, lt, max, min, neq, neq, nin, nin, nin`

    - ### Methods inherited from interface com.holonplatform.core.query.QueryProjection

      `bean, constant, countAll, path, propertySet, propertySet`

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

      `getTemporalType, getType, isCollectionExpression, isConverterExpression`

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

      `validate`

- - ### Method Detail

    - #### asc

          default QuerySort asc()

      Build a `QuerySort.SortDirection.ASCENDING` sort using this property.
      Returns:
        Ascending `QuerySort`

    - #### desc

          default QuerySort desc()

      Build a `QuerySort.SortDirection.DESCENDING` sort using this property.
      Returns:
        Descending `QuerySort`

    - #### create

          static <T> PathExpression<T> create(String name,
                                              Class<? extends T> type)

      Create a `PathExpression`.
      Type Parameters:
        `T` - Path type
      Parameters:
        `name` - Path name (not null)
        `type` - Path type (not null)
      Returns:
        A new `PathExpression`

    - #### from

          static <T> PathExpression<T> from(Path<T> path)

      Create a `PathExpression` from given `Path`.
      Type Parameters:
        `T` - Path type
      Parameters:
        `path` - Suorce path
      Returns:
        A new `PathExpression` with the same name, type and parent of the given path

Copyright © 2019 The Holon Platform. All rights reserved.