Interface RestrictionBuilderExperimental<T>

  • Type Parameters:
    T - The builder type that is returned on terminal operations
    All Superinterfaces:
    RestrictionBuilder<T>

    public interface RestrictionBuilderExperimental<T>
    extends RestrictionBuilder<T>
    This interface contains experimental restriction builder methods.
    Since:
    1.0.0
    Author:
    Moritz Becker
    • Method Detail

      • in

        SubqueryInitiator<T> in​(String subqueryAlias,
                                String expression)
        Starts a SubqueryInitiator for the right hand side of the IN predicate.

        All occurrences of subqueryAlias in expression will be replaced by the subquery. When the builder finishes, the predicate is added to the parent predicate container represented by the type T.

        NOTE: This does not conform to the JPQL 2.1 specification

        Parameters:
        subqueryAlias - The alias for the subquery which will be replaced by the actual subquery
        expression - The expression which will be added as select item. This expression contains the subqueryAlias to define the insertion points for the subquery.
        Returns:
        The subquery initiator for building a subquery
      • inSubqueries

        MultipleSubqueryInitiator<T> inSubqueries​(String expression)
        Starts a MultipleSubqueryInitiator for the right hand side of the IN predicate.

        All occurrences of subsequently defined subqueryAliases in expression will be replaced by the respective 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.

        NOTE: This does not conform to the JPQL 2.1 specification

        Parameters:
        expression - The expression for the right hand side of the IN predicate.
        Returns:
        The subquery initiator for building multiple subqueries for their respective subqueryAliases
        Since:
        1.2.0
      • in

        SubqueryBuilder<T> in​(String subqueryAlias,
                              String expression,
                              FullQueryBuilder<?,​?> criteriaBuilder)
        Starts a SubqueryBuilder based on the given criteria builder for the right hand side of the IN predicate.

        All occurrences of subqueryAlias in expression will be replaced by the subquery. When the builder finishes, the predicate is added to the parent predicate container represented by the type T.

        NOTE: This does not conform to the JPQL 2.1 specification

        Parameters:
        subqueryAlias - The alias for the subquery which will be replaced by the actual subquery
        expression - The expression which will be added as select item. This expression contains the subqueryAlias to define the insertion points for the subquery.
        criteriaBuilder - The criteria builder to base the subquery on
        Returns:
        The subquery builder for building a subquery
        Since:
        1.2.0
      • notIn

        SubqueryInitiator<T> notIn​(String subqueryAlias,
                                   String expression)
        Like in(java.lang.String, java.lang.String) but the result is wrapped in a NOT predicate.
        Parameters:
        subqueryAlias - The alias for the subquery which will be replaced by the actual subquery
        expression - The expression which will be added as select item. This expression contains the subqueryAlias to define the insertion points for the subquery.
        Returns:
        The subquery initiator for building a subquery
      • notInSubqueries

        MultipleSubqueryInitiator<T> notInSubqueries​(String expression)
        Like inSubqueries(java.lang.String) but the result is wrapped in a NOT predicate.
        Parameters:
        expression - The expression for the right hand side of the NOT IN predicate.
        Returns:
        The subquery initiator for building multiple subqueries for their respective subqueryAliases
        Since:
        1.2.0
      • notIn

        SubqueryBuilder<T> notIn​(String subqueryAlias,
                                 String expression,
                                 FullQueryBuilder<?,​?> criteriaBuilder)
        Like in(java.lang.String, java.lang.String, FullQueryBuilder) but the result is wrapped in a NOT predicate.
        Parameters:
        subqueryAlias - The alias for the subquery which will be replaced by the actual subquery
        expression - The expression which will be added as select item. This expression contains the subqueryAlias to define the insertion points for the subquery.
        criteriaBuilder - The criteria builder to base the subquery on
        Returns:
        The subquery builder for building a subquery
        Since:
        1.2.0