javax.persistence.criteria

## Interface ListJoin<Z,E>

Type Parameters:
  `Z` - the source type of the join
  `E` - the element type of the target List

All Superinterfaces:
  Expression<E>, FetchParent<Z,E>, From<Z,E>, Join<Z,E>, Path<E>, PluralJoin<Z,java.util.List<E>,E>, Selection<E>, TupleElement<E>

    public interface ListJoin<Z,E>
    extends PluralJoin<Z,java.util.List<E>,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`.

Since:
  Java Persistence 2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`ListAttribute<? super Z,E>` `getModel()` Return the metamodel representation for the list attribute.
`Expression<java.lang.Integer>` `index()` Create an expression that corresponds to the index of the object in the referenced association or element collection.
`ListJoin<Z,E>` `on(Expression<java.lang.Boolean> restriction)` Modify the join to restrict the result according to the specified ON condition and return the join object.
`ListJoin<Z,E>` `on(Predicate... restrictions)` Modify the join to restrict the result according to the specified ON condition and return the join object.

### Methods inherited from interface javax.persistence.criteria.Join

`getAttribute, getJoinType, getOn, getParent`

### Methods inherited from interface javax.persistence.criteria.From

`getCorrelationParent, getJoins, isCorrelated, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet`

### Methods inherited from interface javax.persistence.criteria.Path

`get, get, get, get, getParentPath, type`

### Methods inherited from interface javax.persistence.criteria.Expression

`as, in, in, in, in, isNotNull, isNull`

### Methods inherited from interface javax.persistence.criteria.Selection

`alias, getCompoundSelectionItems, isCompoundSelection`

### Methods inherited from interface javax.persistence.TupleElement

`getAlias, getJavaType`

### Methods inherited from interface javax.persistence.criteria.FetchParent

`fetch, fetch, fetch, fetch, fetch, fetch, getFetches`

### Method Detail

#### on

    ListJoin<Z,E> on(Expression<java.lang.Boolean> restriction)

Modify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.

Specified by:
  `on` in interface `Join<Z,E>`
Parameters:
  `restriction` - a simple or compound boolean expression
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### on

    ListJoin<Z,E> on(Predicate... restrictions)

Modify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.

Specified by:
  `on` in interface `Join<Z,E>`
Parameters:
  `restrictions` - zero or more restriction predicates
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### getModel

    ListAttribute<? super Z,E> getModel()

Return the metamodel representation for the list attribute.

Specified by:
  `getModel` in interface `Path<E>`
Specified by:
  `getModel` in interface `PluralJoin<Z,java.util.List<E>,E>`
Returns:
  metamodel type representing the `List` that is the target of the join

#### index

    Expression<java.lang.Integer> index()

Create an expression that corresponds to the index of the object in the referenced association or element collection. This method must only be invoked upon an object that represents an association or element collection for which an order column has been defined.

Returns:
  expression denoting the index