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,List<E>,E>, Selection<E>, TupleElement<E>

public interface ListJoin<Z,E> extends PluralJoin<Z,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 List.
Since:
2.0
  • Method Details

    • on

      @Nonnull ListJoin<Z,E> on(@Nonnull Expression<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:
      2.1
    • on

      @Nonnull ListJoin<Z,E> on(@Nonnull BooleanExpression... 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:
      2.1
    • on

      @Nonnull ListJoin<Z,E> on(@Nonnull List<? extends Expression<Boolean>> 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:
      4.0
    • getModel

      @Nonnull ListAttribute<? super Z, E> getModel()
      Return the metamodel representation for the list attribute.
      Specified by:
      getModel in interface Path<Z>
      Specified by:
      getModel in interface PluralJoin<Z,List<E>,E>
      Returns:
      metamodel type representing the List that is the target of the join
    • index

      @Nonnull Expression<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
    • treat

      @Nonnull <T extends E> ListJoin<Z,T> treat(@Nonnull Class<T> type)
      Downcast the element type to the given type.
      Specified by:
      treat in interface From<Z,E>
      Specified by:
      treat in interface Join<Z,E>
      Specified by:
      treat in interface Path<Z>
      Specified by:
      treat in interface PluralJoin<Z,List<E>,E>
      Type Parameters:
      T - the subtype of the element type
      Parameters:
      type - a subtype of the element type
      Returns:
      this join downcast to the given element type
      Since:
      4.0