Interface BaseJoinOnBuilder<T extends BaseJoinOnBuilder<T>>

  • Type Parameters:
    T - The concrete builder type
    All Known Subinterfaces:
    JoinOnAndBuilder<T>, JoinOnBuilder<T>, JoinOnOrBuilder<T>

    public interface BaseJoinOnBuilder<T extends BaseJoinOnBuilder<T>>
    A base interface for builders that support join on. This is related to the fact, that a query builder supports join on clauses.
    Since:
    1.0.0
    Author:
    Christian Beikov
    • Method Detail

      • on

        RestrictionBuilder<T> on​(String expression)
        Starts a RestrictionBuilder for an on predicate with the given expression as left hand expression. When the builder finishes, the predicate is added to the parent predicate container represented by the type T.
        Parameters:
        expression - The left hand expression for a having predicate
        Returns:
        The restriction builder for the given expression
      • onSubquery

        SubqueryInitiator<RestrictionBuilder<T>> onSubquery()
        Starts a SubqueryInitiator for the left hand side of a predicate. When the subquery builder and the restriction builder for the right hand side are finished, the predicate is added to the parent predicate container represented by the type T.
        Returns:
        The subquery initiator for building a subquery
        Since:
        1.4.0
      • onSubquery

        SubqueryInitiator<RestrictionBuilder<T>> onSubquery​(String subqueryAlias,
                                                            String expression)
        Starts a SubqueryInitiator for the left hand side of a predicate.

        All occurrences of subqueryAlias in expression will be replaced by the subquery. When the subquery builder and the restriction builder for the right hand side are finished, the predicate is added to the parent predicate container represented by the type T.

        Parameters:
        subqueryAlias - The alias for the subquery which will be replaced by the actual subquery
        expression - The expression which will be used as left hand side of a predicate. This expression contains the subqueryAlias to define the insertion points for the subquery.
        Returns:
        The subquery initiator for building a subquery
        Since:
        1.4.0
      • onSubqueries

        MultipleSubqueryInitiator<RestrictionBuilder<T>> onSubqueries​(String expression)
        Starts a MultipleSubqueryInitiator for the left hand side of a predicate.

        All occurrences of subsequently defined subqueryAliases in expression will be replaced by the respective subquery. When the builder finishes, the resulting expression is used for the left hand side of the predicate.

        Parameters:
        expression - The expression which will be used as left hand side of a predicate
        Returns:
        The subquery initiator for building multiple subqueries for their respective subqueryAliases
        Since:
        1.4.0
      • onSubquery

        SubqueryBuilder<RestrictionBuilder<T>> onSubquery​(FullQueryBuilder<?,​?> criteriaBuilder)
        Starts a SubqueryBuilder based on the given criteria builder for the left hand side of a predicate. When the subquery builder and the restriction builder for the right hand side are finished, the predicate is added to the parent predicate container represented by the type T.
        Parameters:
        criteriaBuilder - The criteria builder to base the subquery on
        Returns:
        The subquery builder for building a subquery
        Since:
        1.4.0
      • onSubquery

        SubqueryBuilder<RestrictionBuilder<T>> onSubquery​(String subqueryAlias,
                                                          String expression,
                                                          FullQueryBuilder<?,​?> criteriaBuilder)
        Starts a SubqueryBuilder based on the given criteria builder for the left hand side of a predicate. All occurrences of subqueryAlias in expression will be replaced by the subquery. When the subquery builder and the restriction builder for the right hand side are finished, the predicate is added to the parent predicate container represented by the type T.
        Parameters:
        subqueryAlias - The alias for the subquery which will be replaced by the actual subquery
        expression - The expression which will be used as left hand side of a predicate
        criteriaBuilder - The criteria builder to base the subquery on
        Returns:
        The subquery builder for building a subquery
        Since:
        1.4.0
      • onExpression

        T onExpression​(String expression)
        Adds the given expression as expression to the on clause.
        Parameters:
        expression - The on expression
        Returns:
        The builder
        Since:
        1.4.0
      • onExpressionSubqueries

        MultipleSubqueryInitiator<T> onExpressionSubqueries​(String expression)
        Starts a MultipleSubqueryInitiator for expression of the on clause.

        All occurrences of subsequently defined subqueryAliases in expression will be replaced by the respective subquery. When the builder finishes, the resulting expression is added as expression to the on clause.

        Parameters:
        expression - The on expression
        Returns:
        The subquery initiator for building multiple subqueries for their respective subqueryAliases
        Since:
        1.4.0
      • onExists

        SubqueryInitiator<T> onExists()
        Starts an exists predicate for the on clause with a subquery on the right hand side. When the builder finishes, the predicate is added to the parent predicate container represented by the type T.
        Returns:
        The subquery initiator for building a subquery
        Since:
        1.4.0
      • onNotExists

        SubqueryInitiator<T> onNotExists()
        Starts an not exists predicate for the on clause with a subquery on the right hand side. When the builder finishes, the predicate is added to the parent predicate container represented by the type T.
        Returns:
        The subquery initiator for building a subquery
        Since:
        1.4.0
      • onExists

        SubqueryBuilder<T> onExists​(FullQueryBuilder<?,​?> criteriaBuilder)
        Starts an exists predicate for the on clause with a subquery on the right hand side based on the given criteria builder. When the builder finishes, the predicate is added to the parent predicate container represented by the type T.
        Parameters:
        criteriaBuilder - The criteria builder to base the subquery on
        Returns:
        The subquery builder for building a subquery
        Since:
        1.4.0
      • onNotExists

        SubqueryBuilder<T> onNotExists​(FullQueryBuilder<?,​?> criteriaBuilder)
        Starts an exists predicate for the on clause with a subquery on the right hand side based on the given criteria builder. When the builder finishes, the predicate is added to the parent predicate container represented by the type T.
        Parameters:
        criteriaBuilder - The criteria builder to base the subquery on
        Returns:
        The subquery builder for building a subquery
        Since:
        1.4.0