Package com.blazebit.persistence.impl
Class AbstractCTECriteriaBuilder<Y,X extends BaseCTECriteriaBuilder<X>,Z,W>
java.lang.Object
com.blazebit.persistence.impl.AbstractCommonQueryBuilder<Object,X,Z,W,BaseFinalSetOperationCTECriteriaBuilderImpl<Object,?>>
com.blazebit.persistence.impl.AbstractCTECriteriaBuilder<Y,X,Z,W>
- Type Parameters:
Y
- The criteria builder returned after the cte builderX
- The concrete builder typeZ
- The builder type that should be returned on set operations
- All Implemented Interfaces:
BaseCTECriteriaBuilder<X>
,BaseHavingBuilder<X>
,BaseWhereBuilder<X>
,CommonQueryBuilder<X>
,DistinctBuilder<X>
,FromBaseBuilder<X>
,FromBuilder<X>
,FromProvider
,GroupByBuilder<X>
,HavingBuilder<X>
,CTEInfoBuilder
,KeysetQueryBuilder<X>
,LimitBuilder<X>
,OrderByBuilder<X>
,ParameterHolder<X>
,SelectBuilder<X>
,ConfigurationSource
,ServiceProvider
,WhereBuilder<X>
,WindowContainerBuilder<X>
- Direct Known Subclasses:
FullSelectCTECriteriaBuilderImpl
,LeafOngoingSetOperationCTECriteriaBuilderImpl
,OngoingSetOperationCTECriteriaBuilderImpl
,RecursiveCTECriteriaBuilderImpl
,SelectCTECriteriaBuilderImpl
,StartOngoingSetOperationCTECriteriaBuilderImpl
public abstract class AbstractCTECriteriaBuilder<Y,X extends BaseCTECriteriaBuilder<X>,Z,W>
extends AbstractCommonQueryBuilder<Object,X,Z,W,BaseFinalSetOperationCTECriteriaBuilderImpl<Object,?>>
implements BaseCTECriteriaBuilder<X>, SelectBuilder<X>, CTEInfoBuilder
- Since:
- 1.1.0
- Author:
- Christian Beikov
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Map<String,
ExtendedAttribute<?, ?>> protected final com.blazebit.persistence.impl.CTEManager.CTEKey
protected final javax.persistence.metamodel.EntityType<?>
protected final boolean
protected final CTEBuilderListener
protected final Y
protected final CTEBuilderListenerImpl
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
ConstructorDescriptionAbstractCTECriteriaBuilder
(AbstractCTECriteriaBuilder<Y, X, Z, W> builder, MainQuery mainQuery, QueryContext queryContext, Map<JoinManager, JoinManager> joinManagerMapping, ExpressionCopyContext copyContext) AbstractCTECriteriaBuilder
(MainQuery mainQuery, QueryContext queryContext, com.blazebit.persistence.impl.CTEManager.CTEKey cteKey, boolean inline, Class<Object> clazz, Y result, CTEBuilderListener listener, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder, AliasManager parentAliasManager, JoinManager parentJoinManager) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
buildExternalQueryString
(StringBuilder sbSelectFrom) com.blazebit.persistence.impl.CTEInfo
protected BaseFinalSetOperationCTECriteriaBuilderImpl<Object,
?> createFinalSetOperationBuilder
(SetOperationType operator, boolean nested, boolean isSubquery) protected BaseFinalSetOperationCTECriteriaBuilderImpl<Object,
?> createFinalSetOperationBuilder
(SetOperationType operator, boolean nested, boolean isSubquery, FullSelectCTECriteriaBuilderImpl<?> initiator) protected LeafOngoingSetOperationCTECriteriaBuilderImpl<Y>
createLeaf
(BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder) protected <T extends AbstractCommonQueryBuilder<?,
?, ?, ?, ?>>
OngoingSetOperationCTECriteriaBuilderImpl<Y,T> createOngoing
(BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder, T endSetResult) protected <T extends AbstractCommonQueryBuilder<?,
?, ?, ?, ?>>
StartOngoingSetOperationCTECriteriaBuilderImpl<Y,T> createStartOngoing
(BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder, T endSetResult) end()
protected javax.persistence.Query
getQuery()
protected javax.persistence.Query
protected void
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, asExpression, beforeKeyset, beforeKeyset, beforeKeyset, buildBaseQueryString, buildBaseQueryString, buildBaseQueryString0, buildExternalQueryString, buildImplicitGroupByClauses, buildLateralBaseQueryString, buildLateralExampleQueryString, checkJoinPreconditions, collectEntityFunctionNodes, 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, getResultType, getRoot, getRoots, getService, getStatementType, getTypedQuery, getTypedQueryForFinalOperationBuilder, groupBy, groupBy, groupByCube, groupByCube, groupByGroupingSets, groupByRollup, groupByRollup, hasCte, hasCte, hasLimit, 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, 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, needsSqlReplacement, orderBy, 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, 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.BaseHavingBuilder
having, havingCase, havingExists, havingExists, havingExpression, havingExpressionSubqueries, havingNotExists, havingNotExists, havingSimpleCase, havingSubqueries, havingSubquery, havingSubquery, havingSubquery, havingSubquery
Methods inherited from interface com.blazebit.persistence.BaseWhereBuilder
where, whereCase, whereExists, whereExists, whereExpression, whereExpressionSubqueries, whereNotExists, whereNotExists, whereSimpleCase, whereSubqueries, whereSubquery, whereSubquery, whereSubquery, whereSubquery
Methods inherited from interface com.blazebit.persistence.CommonQueryBuilder
getCriteriaBuilderFactory, getMetamodel, isCacheable, registerMacro, setCacheable, setProperties, setProperty
Methods inherited from interface com.blazebit.persistence.spi.ConfigurationSource
getProperties, getProperty
Methods inherited from interface com.blazebit.persistence.DistinctBuilder
distinct
Methods inherited from interface com.blazebit.persistence.FromBaseBuilder
fromEntitySubquery, fromEntitySubquery, fromEntitySubquery, fromSubquery, fromSubquery
Methods inherited from interface com.blazebit.persistence.FromBuilder
from, from, from, from, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromNew, fromNew, fromOld, fromOld, fromValues, fromValues, fromValues, fromValues, getFrom, getFromByPath, getPath, getRoots, 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, 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, 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, rightJoin, rightJoinDefault, rightJoinDefaultOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery
Methods inherited from interface com.blazebit.persistence.GroupByBuilder
groupBy, groupBy, groupByCube, groupByCube, groupByGroupingSets, groupByRollup, groupByRollup
Methods inherited from interface com.blazebit.persistence.HavingBuilder
havingOr, setHavingExpression, setHavingExpressionSubqueries
Methods inherited from interface com.blazebit.persistence.KeysetQueryBuilder
afterKeyset, afterKeyset, afterKeyset, beforeKeyset, beforeKeyset, beforeKeyset
Methods inherited from interface com.blazebit.persistence.LimitBuilder
getFirstResult, getMaxResults, setFirstResult, setMaxResults
Methods inherited from interface com.blazebit.persistence.OrderByBuilder
orderBy, orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDesc
Methods inherited from interface com.blazebit.persistence.ParameterHolder
containsParameter, getParameter, getParameters, getParameterValue, isParameterSet, registerCriteriaParameter, setParameter, setParameter, setParameter, setParameterType
Methods inherited from interface com.blazebit.persistence.SelectBuilder
select, select, selectCase, selectCase, selectSimpleCase, selectSimpleCase, selectSubqueries, selectSubqueries, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery
Methods inherited from interface com.blazebit.persistence.spi.ServiceProvider
getService
Methods inherited from interface com.blazebit.persistence.WhereBuilder
setWhereExpression, setWhereExpressionSubqueries, whereOr
Methods inherited from interface com.blazebit.persistence.WindowContainerBuilder
window
-
Field Details
-
result
-
listener
-
cteKey
protected final com.blazebit.persistence.impl.CTEManager.CTEKey cteKey -
inline
protected final boolean inline -
cteType
protected final javax.persistence.metamodel.EntityType<?> cteType -
attributeEntries
-
bindingMap
-
columnBindingMap
-
subListener
-
-
Constructor Details
-
AbstractCTECriteriaBuilder
public AbstractCTECriteriaBuilder(MainQuery mainQuery, QueryContext queryContext, com.blazebit.persistence.impl.CTEManager.CTEKey cteKey, boolean inline, Class<Object> clazz, Y result, CTEBuilderListener listener, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder, AliasManager parentAliasManager, JoinManager parentJoinManager) -
AbstractCTECriteriaBuilder
public AbstractCTECriteriaBuilder(AbstractCTECriteriaBuilder<Y, X, Z, W> builder, MainQuery mainQuery, QueryContext queryContext, Map<JoinManager, JoinManager> joinManagerMapping, ExpressionCopyContext copyContext)
-
-
Method Details
-
getSubListener
-
buildExternalQueryString
- Overrides:
buildExternalQueryString
in classAbstractCommonQueryBuilder<Object,
X extends BaseCTECriteriaBuilder<X>, Z, W, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?>>
-
getQuery
protected javax.persistence.Query getQuery()- Overrides:
getQuery
in classAbstractCommonQueryBuilder<Object,
X extends BaseCTECriteriaBuilder<X>, Z, W, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?>>
-
getQuery
-
bind
-
end
-
prepareAndCheck
protected void prepareAndCheck()- Overrides:
prepareAndCheck
in classAbstractCommonQueryBuilder<Object,
X extends BaseCTECriteriaBuilder<X>, Z, W, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?>>
-
createCTEInfo
public com.blazebit.persistence.impl.CTEInfo createCTEInfo()- Specified by:
createCTEInfo
in interfaceCTEInfoBuilder
-
prepareAndGetAttributes
-
prepareAndGetColumnNames
-
createFinalSetOperationBuilder
protected BaseFinalSetOperationCTECriteriaBuilderImpl<Object,?> createFinalSetOperationBuilder(SetOperationType operator, boolean nested, boolean isSubquery) -
createFinalSetOperationBuilder
protected BaseFinalSetOperationCTECriteriaBuilderImpl<Object,?> createFinalSetOperationBuilder(SetOperationType operator, boolean nested, boolean isSubquery, FullSelectCTECriteriaBuilderImpl<?> initiator) -
createLeaf
protected LeafOngoingSetOperationCTECriteriaBuilderImpl<Y> createLeaf(BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder) -
createStartOngoing
protected <T extends AbstractCommonQueryBuilder<?,?, StartOngoingSetOperationCTECriteriaBuilderImpl<Y,?, ?, ?>> T> createStartOngoing(BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder, T endSetResult) -
createOngoing
protected <T extends AbstractCommonQueryBuilder<?,?, OngoingSetOperationCTECriteriaBuilderImpl<Y,?, ?, ?>> T> createOngoing(BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?> finalSetOperationBuilder, T endSetResult)
-