## Uses of Interface
com.holonplatform.core.query.QueryProjection

- Packages that use QueryProjection
  Package | Description
  --- | ---
  com.holonplatform.core.beans |
  com.holonplatform.core.datastore.relational |
  com.holonplatform.core.property |
  com.holonplatform.core.query |

- - ### Uses of QueryProjection in com.holonplatform.core.beans

    Subinterfaces of QueryProjection in com.holonplatform.core.beans
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BeanProperty<T>` Represents a Java Bean property as a `PathProperty`, providing additional configuration informations and methods.
    `static interface` | `BeanProperty.Builder<T>` BeanProperty builder.

  - ### Uses of QueryProjection in com.holonplatform.core.datastore.relational

    Methods in com.holonplatform.core.datastore.relational that return QueryProjection
    Modifier and Type | Method and Description
    --- | ---
    `QueryProjection<T>` | SubQuery.`getSelection()` Gets the projection to use as the subquery result

    Methods in com.holonplatform.core.datastore.relational with parameters of type QueryProjection
    Modifier and Type | Method and Description
    --- | ---
    `static <T> SubQuery<T>` | SubQuery.`create(Datastore datastore, QueryProjection<T> selection)` Build a sub query with given property as selection.
    `SubQuery<T>` | SubQuery.`select(QueryProjection<T> projection)` Specify the projection to use as the subquery result.

  - ### Uses of QueryProjection in com.holonplatform.core.property

    Subinterfaces of QueryProjection in com.holonplatform.core.property
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PathProperty<T>` A `Property` bound to a `Path`, using `Path.getName()` as property name.
    `static interface` | `PathProperty.PathPropertyBuilder<T>` `PathProperty` builder.

  - ### Uses of QueryProjection in com.holonplatform.core.query

    Subinterfaces of QueryProjection in com.holonplatform.core.query
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BeanProjection<T>` A `QueryProjection` which uses a `BeanPropertySet` to define the projection selection and returns `BeanPropertySet.getBeanClass()` type results.
    `interface` | `CountAllProjection` A `QueryProjection` to represent the count of all the results of a query.
    `interface` | `FunctionExpression<T>` A `QueryExpression` wich represents the result of a `QueryFunction` a can be used as `QueryProjection`.
    `static interface` | `FunctionExpression.FunctionExpressionProperty<T>` A `FunctionExpression` implemented as a `Property`.
    `static interface` | `FunctionExpression.PathFunctionExpression<P,T>` A `FunctionExpression` which acts on a `Path`.
    `static interface` | `FunctionExpression.PathFunctionExpressionProperty<P,T>` A `FunctionExpression.PathFunctionExpression` implemented as a `VirtualProperty`.
    `interface` | `PropertySetProjection` A `QueryProjection` which uses a `PropertySet` to define the projection selection and returns `PropertyBox` type results.

    Methods in com.holonplatform.core.query with parameters of type QueryProjection
    Modifier and Type | Method and Description
    --- | ---
    `default <R> Optional<R>` | QueryResults.`findOne(QueryProjection<R> projection)` Execute query and get an expected unique result using `projection` to map result to required type.
    `default <R> List<R>` | QueryResults.`list(QueryProjection<R> projection)` Convenience method to obtain query results `QueryResults.stream(QueryProjection)` as a `List`
    `<R> Stream<R>` | QueryResults.`stream(QueryProjection<R> projection)` Execute query and get a `Stream` of query results using given `projection` to map results to required type.

Copyright © 2017 The Holon Platform. All rights reserved.