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
FieldsModifier and TypeFieldDescriptionprotected final Map<String,ExtendedAttribute<?, ?>> protected final com.blazebit.persistence.impl.CTEManager.CTEKeyprotected final javax.persistence.metamodel.EntityType<?>protected final booleanprotected final CTEBuilderListenerprotected final Yprotected final CTEBuilderListenerImplFields 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
ConstructorsConstructorDescriptionAbstractCTECriteriaBuilder(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 voidbuildExternalQueryString(StringBuilder sbSelectFrom) com.blazebit.persistence.impl.CTEInfoprotected 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.QuerygetQuery()protected javax.persistence.Queryprotected voidMethods 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, getRequiredPath, getResultType, getRoot, getRoots, getService, getStatementType, getTypedQuery, 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, 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, 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, withStartSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.blazebit.persistence.BaseHavingBuilder
having, havingCase, havingExists, havingExists, havingExpression, havingExpressionSubqueries, havingNotExists, havingNotExists, havingSimpleCase, havingSubqueries, havingSubquery, havingSubquery, havingSubquery, havingSubqueryMethods inherited from interface com.blazebit.persistence.BaseWhereBuilder
where, whereCase, whereExists, whereExists, whereExpression, whereExpressionSubqueries, whereNotExists, whereNotExists, whereSimpleCase, whereSubqueries, whereSubquery, whereSubquery, whereSubquery, whereSubqueryMethods inherited from interface com.blazebit.persistence.CommonQueryBuilder
getCriteriaBuilderFactory, getMetamodel, isCacheable, registerMacro, setCacheable, setProperties, setPropertyMethods inherited from interface com.blazebit.persistence.spi.ConfigurationSource
getProperties, getPropertyMethods inherited from interface com.blazebit.persistence.DistinctBuilder
distinctMethods inherited from interface com.blazebit.persistence.FromBaseBuilder
fromEntitySubquery, fromEntitySubquery, fromEntitySubquery, fromSubquery, fromSubqueryMethods 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, getRequiredPath, 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, rightJoinOnSubqueryMethods inherited from interface com.blazebit.persistence.GroupByBuilder
groupBy, groupBy, groupByCube, groupByCube, groupByGroupingSets, groupByRollup, groupByRollupMethods inherited from interface com.blazebit.persistence.HavingBuilder
having, havingOr, setHavingExpression, setHavingExpressionSubqueriesMethods inherited from interface com.blazebit.persistence.KeysetQueryBuilder
afterKeyset, afterKeyset, afterKeyset, beforeKeyset, beforeKeyset, beforeKeysetMethods inherited from interface com.blazebit.persistence.LimitBuilder
getFirstResult, getMaxResults, setFirstResult, setMaxResultsMethods inherited from interface com.blazebit.persistence.OrderByBuilder
orderBy, orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDescMethods inherited from interface com.blazebit.persistence.ParameterHolder
containsParameter, getParameter, getParameters, getParameterValue, isParameterSet, registerCriteriaParameter, setParameter, setParameter, setParameter, setParameterTypeMethods inherited from interface com.blazebit.persistence.SelectBuilder
select, select, selectCase, selectCase, selectSimpleCase, selectSimpleCase, selectSubqueries, selectSubqueries, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubqueryMethods inherited from interface com.blazebit.persistence.spi.ServiceProvider
getServiceMethods inherited from interface com.blazebit.persistence.WhereBuilder
setWhereExpression, setWhereExpressionSubqueries, where, whereOrMethods 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:
buildExternalQueryStringin classAbstractCommonQueryBuilder<Object,X extends BaseCTECriteriaBuilder<X>, Z, W, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?>>
-
getQuery
protected javax.persistence.Query getQuery()- Overrides:
getQueryin classAbstractCommonQueryBuilder<Object,X extends BaseCTECriteriaBuilder<X>, Z, W, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?>>
-
getQuery
-
bind
-
end
-
prepareAndCheck
protected void prepareAndCheck()- Overrides:
prepareAndCheckin classAbstractCommonQueryBuilder<Object,X extends BaseCTECriteriaBuilder<X>, Z, W, BaseFinalSetOperationCTECriteriaBuilderImpl<Object, ?>>
-
createCTEInfo
public com.blazebit.persistence.impl.CTEInfo createCTEInfo()- Specified by:
createCTEInfoin 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)
-