Package com.blazebit.persistence.impl
Class BaseFinalSetOperationBuilderImpl<T,X extends BaseFinalSetOperationBuilder<T,X>,Y extends BaseFinalSetOperationBuilderImpl<T,X,Y>>
java.lang.Object
com.blazebit.persistence.impl.AbstractCommonQueryBuilder<T,X,AbstractCommonQueryBuilder<?,?,?,?,?>,AbstractCommonQueryBuilder<?,?,?,?,?>,Y>
com.blazebit.persistence.impl.BaseFinalSetOperationBuilderImpl<T,X,Y>
- Type Parameters:
T
- The query result type
- All Implemented Interfaces:
BaseFinalSetOperationBuilder<T,
,X> BaseOngoingFinalSetOperationBuilder<T,
,X> LimitBuilder<X>
,OrderByBuilder<X>
,ConfigurationSource
,ServiceProvider
- Direct Known Subclasses:
BaseFinalSetOperationCriteriaBuilderImpl
,BaseFinalSetOperationCTECriteriaBuilderImpl
,BaseFinalSetOperationSubqueryBuilderImpl
public abstract class BaseFinalSetOperationBuilderImpl<T,X extends BaseFinalSetOperationBuilder<T,X>,Y extends BaseFinalSetOperationBuilderImpl<T,X,Y>>
extends AbstractCommonQueryBuilder<T,X,AbstractCommonQueryBuilder<?,?,?,?,?>,AbstractCommonQueryBuilder<?,?,?,?,?>,Y>
implements BaseFinalSetOperationBuilder<T,X>, BaseOngoingFinalSetOperationBuilder<T,X>
- Since:
- 1.1.0
- Author:
- Christian Beikov
-
Field Summary
Modifier and TypeFieldDescriptionprotected T
protected final List<DefaultOrderByElement>
protected final SetOperationManager
Fields inherited from class com.blazebit.persistence.impl.AbstractCommonQueryBuilder
aliasManager, cachedExternalQueryString, cachedGroupByIdentifierExpressions, cachedQueryString, cbf, em, embeddableSplittingVisitor, explicitVersionEntities, expressionFactory, finalSetOperationBuilder, firstResult, fromClassExplicitlySet, functionalDependencyAnalyzerVisitor, groupByManager, hasCollections, hasGroupBy, havingManager, ID_PARAM_NAME, isMainQuery, joinManager, keyRestrictedLeftJoins, keysetManager, mainQuery, maxResults, needsCheck, nodesToFetch, orderByManager, parameterManager, queryContext, queryGenerator, resultType, selectManager, setOperationEnded, statementType, subqueryInitFactory, transformerGroups, whereManager, windowManager
-
Constructor Summary
ConstructorDescriptionBaseFinalSetOperationBuilderImpl
(BaseFinalSetOperationBuilderImpl<T, X, Y> builder, MainQuery mainQuery, QueryContext queryContext, Map<JoinManager, JoinManager> joinManagerMapping, ExpressionCopyContext copyContext) BaseFinalSetOperationBuilderImpl
(MainQuery mainQuery, QueryContext queryContext, boolean isMainQuery, Class<T> clazz, SetOperationType operator, boolean nested, T endSetResult) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
applySetOrderBy
(StringBuilder sbSelectFrom) asExpression
(boolean externalRepresentation, boolean quantifiedPredicate) protected void
buildBaseQueryString
(StringBuilder sbSelectFrom, boolean externalRepresentation, JoinNode lateralJoinNode, boolean countWrapped) protected int
collectEntityFunctionNodes
(List<EntityFunctionNode> entityFunctionNodes, javax.persistence.Query baseQuery, int queryPartNumber) endSet()
protected String
getOperator
(SetOperationType type) protected List<? extends OrderByElement>
javax.persistence.TypedQuery<T>
getQuery()
protected javax.persistence.TypedQuery<T>
getTypedQuery
(StringBuilder lateralSb, JoinNode lateralJoinNode) boolean
isEmpty()
protected boolean
needsSqlReplacement
(Set<JoinNode> keyRestrictedLeftJoins) protected void
prepareAndCheck
(JoinVisitor parentVisitor) void
setEndSetResult
(T endSetResult) void
verifyBuilderEnded
(AbstractCommonQueryBuilder<?, ?, ?, ?, ?> currentBuilder) Methods inherited from class com.blazebit.persistence.impl.AbstractCommonQueryBuilder
afterKeyset, afterKeyset, afterKeyset, analyzeConstantifiedJoinNodes, appendGroupByClause, appendOrderByClause, appendSelectClause, appendWhereClause, appendWhereClause, appendWindowClause, applyExpressionTransformersAndBuildGroupByClauses, applyImplicitJoins, applyJpaLimit, applyObjectBuilder, applyVisitor, asExpression, beforeKeyset, beforeKeyset, beforeKeyset, buildBaseQueryString, buildBaseQueryString0, buildExternalQueryString, buildExternalQueryString, buildImplicitGroupByClauses, buildLateralBaseQueryString, buildLateralExampleQueryString, checkJoinPreconditions, collectEntityFunctionNodes, collectEntityFunctionNodes, collectEntityFunctionNodes, collectParameters, containsParameter, createFinalSetOperationBuilder, createSetOperand, createSubquerySetOperand, distinct, except, exceptAll, from, from, from, from, from, from, fromCte, fromCte, fromEntitySubquery, fromEntitySubquery, fromEntitySubquery, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromNew, fromNew, fromOld, fromOld, fromSubquery, fromSubquery, fromValues, fromValues, fromValues, fromValues, getBaseQueryString, getBaseQueryStringWithCheck, getCriteriaBuilderFactory, getCteNodes, getEntityFunctionNodes, getEntityFunctionNodes, getEntityManager, getExternalQueryString, getFirstResult, getFrom, getFromByPath, getGroupByIdentifierExpressions, getKeyRestrictedLeftJoinAliases, getKeyRestrictedLeftJoins, getLateralQuery, getMaxResults, getMetamodel, getModificationStateRelatedTableNameRemappings, getModificationStates, getParameter, getParameters, getParameterValue, getPath, getProperties, getProperty, getQuery, getQueryString, getRequiredPath, getResultType, getRoot, getRoots, getService, getStatementType, getTypedQueryForFinalOperationBuilder, groupBy, groupBy, groupByCube, groupByCube, groupByGroupingSets, groupByRollup, groupByRollup, hasCte, hasCte, hasLimit, having, having, havingCase, havingExists, havingExists, havingExpression, havingExpressionSubqueries, havingNotExists, havingNotExists, havingOr, havingSimpleCase, havingSubqueries, havingSubquery, havingSubquery, havingSubquery, havingSubquery, implicitJoinWhereClause, innerJoin, innerJoinDefault, innerJoinDefaultOn, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, intersect, intersectAll, isCacheable, isEmpty, isJoinRequiredForSelect, isParameterSet, join, joinDefault, joinDefaultOn, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinOn, joinOn, joinOn, joinOn, joinOn, joinOn, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, leftJoin, leftJoinDefault, leftJoinDefaultOn, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDesc, prepareAndCheckCtes, prepareForModification, prepareSelect, registerCriteriaParameter, registerMacro, renderCteNodes, rightJoin, rightJoinDefault, rightJoinDefaultOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery, select, select, selectCase, selectCase, selectSimpleCase, selectSimpleCase, selectSubqueries, selectSubqueries, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, setCacheable, setFirstResult, setHavingExpression, setHavingExpressionSubqueries, setMaxResults, setParameter, setParameter, setParameter, setParameterType, setProperties, setProperty, setWhereExpression, setWhereExpressionSubqueries, startExcept, startExceptAll, startIntersect, startIntersectAll, startSet, startUnion, startUnionAll, union, unionAll, verifyBuilderEnded, verifySetBuilderEnded, where, where, whereCase, whereExists, whereExists, whereExpression, whereExpressionSubqueries, whereNotExists, whereNotExists, whereOr, whereSimpleCase, whereSubqueries, whereSubquery, whereSubquery, whereSubquery, whereSubquery, window, with, with, with, with, with, with, with, with, with, with, with, with, withCtesFrom, withRecursive, withRecursive, withReturning, withReturning, withStartSet, withStartSet, withStartSet, withStartSet, withStartSet, withStartSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.blazebit.persistence.LimitBuilder
getFirstResult, getMaxResults, setFirstResult, setMaxResults
Methods inherited from interface com.blazebit.persistence.OrderByBuilder
orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDesc
-
Field Details
-
endSetResult
-
setOperationManager
-
orderByElements
-
-
Constructor Details
-
BaseFinalSetOperationBuilderImpl
public BaseFinalSetOperationBuilderImpl(MainQuery mainQuery, QueryContext queryContext, boolean isMainQuery, Class<T> clazz, SetOperationType operator, boolean nested, T endSetResult) -
BaseFinalSetOperationBuilderImpl
public BaseFinalSetOperationBuilderImpl(BaseFinalSetOperationBuilderImpl<T, X, Y> builder, MainQuery mainQuery, QueryContext queryContext, Map<JoinManager, JoinManager> joinManagerMapping, ExpressionCopyContext copyContext)
-
-
Method Details
-
isEmpty
public boolean isEmpty()- Overrides:
isEmpty
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
orderBy
- Specified by:
orderBy
in interfaceOrderByBuilder<T>
- Overrides:
orderBy
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
getOrderByElements
-
getEndSetResult
-
setEndSetResult
-
endSet
- Specified by:
endSet
in interfaceBaseOngoingFinalSetOperationBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>>
-
prepareAndCheck
- Overrides:
prepareAndCheck
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
verifyBuilderEnded
-
asExpression
- Overrides:
asExpression
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
buildBaseQueryString
protected void buildBaseQueryString(StringBuilder sbSelectFrom, boolean externalRepresentation, JoinNode lateralJoinNode, boolean countWrapped) - Overrides:
buildBaseQueryString
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
applySetOrderBy
-
getTypedQuery
protected javax.persistence.TypedQuery<T> getTypedQuery(StringBuilder lateralSb, JoinNode lateralJoinNode) - Overrides:
getTypedQuery
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
needsSqlReplacement
- Overrides:
needsSqlReplacement
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
collectEntityFunctionNodes
protected int collectEntityFunctionNodes(List<EntityFunctionNode> entityFunctionNodes, javax.persistence.Query baseQuery, int queryPartNumber) - Overrides:
collectEntityFunctionNodes
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
getOperator
-
getQuery
- Overrides:
getQuery
in classAbstractCommonQueryBuilder<T,
X extends BaseFinalSetOperationBuilder<T, X>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, AbstractCommonQueryBuilder<?, ?, ?, ?, ?>, Y extends BaseFinalSetOperationBuilderImpl<T, X, Y>>
-
getResultList
-
getSingleResult
-
getResultStream
-