## Uses of Interface
javax.persistence.criteria.Selection

Packages that use Selection
javax.persistence.criteria: Java Persistence Criteria API

### Uses of Selection in javax.persistence.criteria

Subinterfaces of Selection in javax.persistence.criteria
`interface` `CollectionJoin<Z,E>` The `CollectionJoin` interface is the type of the result of joining to a collection over an association or element collection that has been specified as a `java.util.Collection`.
`interface` `CompoundSelection<X>` The `CompoundSelection` interface defines a compound selection item (tuple, array, or result of constructor).
`static interface` `CriteriaBuilder.Case<R>` Interface used to build general case expressions.
`static interface` `CriteriaBuilder.Coalesce<T>` Interface used to build coalesce expressions.
`static interface` `CriteriaBuilder.In<T>` Interface used to build in predicates.
`static interface` `CriteriaBuilder.SimpleCase<C,R>` Interface used to build simple case expressions.
`interface` `Expression<T>` Type for query expressions.
`interface` `From<Z,X>` Represents a bound type, usually an entity that appears in the from clause, but may also be an embeddable belonging to an entity in the from clause.
`interface` `Join<Z,X>` A join to an entity, embeddable, or basic type.
`interface` `ListJoin<Z,E>` The `ListJoin` interface is the type of the result of joining to a collection over an association or element collection that has been specified as a `java.util.List`.
`interface` `MapJoin<Z,K,V>` The `MapJoin` interface is the type of the result of joining to a collection over an association or element collection that has been specified as a `java.util.Map`.
`interface` `ParameterExpression<T>` Type of criteria query parameter expressions.
`interface` `Path<X>` Represents a simple or compound attribute path from a bound type or collection, and is a "primitive" expression.
`interface` `PluralJoin<Z,C,E>` The `PluralJoin` interface defines functionality that is common to joins to all collection types.
`interface` `Predicate` The type of a simple or compound predicate: a conjunction or disjunction of restrictions.
`interface` `Root<X>` A root type in the from clause.
`interface` `SetJoin<Z,E>` The `SetJoin` interface is the type of the result of joining to a collection over an association or element collection that has been specified as a `java.util.Set`.
`interface` `Subquery<T>` The `Subquery` interface defines functionality that is specific to subqueries.

Methods in javax.persistence.criteria that return Selection
`Selection<X>` Selection.`alias(String name)` Assigns an alias to the selection item.
`Selection<T>` AbstractQuery.`getSelection()` Return the selection of the query, or null if no selection has been set.

Methods in javax.persistence.criteria that return types with arguments of type Selection
`List<Selection<?>>` Selection.`getCompoundSelectionItems()` Return the selection items composing a compound selection.

Methods in javax.persistence.criteria with parameters of type Selection
`CompoundSelection<Object[]>` CriteriaBuilder.`array(Selection<?>... selections)` Create an array-valued selection item.
`<Y> CompoundSelection<Y>` CriteriaBuilder.`construct(Class<Y> resultClass, Selection<?>... selections)` Create a selection item corresponding to a constructor.
`CriteriaQuery<T>` CriteriaQuery.`multiselect(Selection<?>... selections)` Specify the selection items that are to be returned in the query result.
`CriteriaQuery<T>` CriteriaQuery.`select(Selection<? extends T> selection)` Specify the item that is to be returned in the query result.
`CompoundSelection<Tuple>` CriteriaBuilder.`tuple(Selection<?>... selections)` Create a tuple-valued selection item.

Method parameters in javax.persistence.criteria with type arguments of type Selection
`CriteriaQuery<T>` CriteriaQuery.`multiselect(List<Selection<?>> selectionList)` Specify the selection items that are to be returned in the query result.