Class SqlAstQueryPartProcessingStateImpl
- java.lang.Object
-
- org.hibernate.query.sqm.sql.internal.SqlAstProcessingStateImpl
-
- org.hibernate.query.sqm.sql.internal.SqlAstQueryPartProcessingStateImpl
-
- All Implemented Interfaces:
BaseSqmToSqlAstConverter.SqmAliasedNodeCollector
,SqlAstProcessingState
,SqlAstQueryPartProcessingState
,SqlExpressionResolver
public class SqlAstQueryPartProcessingStateImpl extends SqlAstProcessingStateImpl implements SqlAstQueryPartProcessingState
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.sql.ast.spi.SqlExpressionResolver
SqlExpressionResolver.ColumnReferenceKey
-
-
Constructor Summary
Constructors Constructor Description SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Function<SqlExpressionResolver,SqlExpressionResolver> expressionResolverDecorator, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)
SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<SqmFrom<?,?>,Boolean>
getFromRegistrations()
Returns the treated SqmFroms and whether theirEntityNameUse.TREAT
should be downgraded toEntityNameUse.EXPRESSION
.QueryPart
getInflightQueryPart()
Get the QueryPart being processed as part of this state.FetchParent
getNestingFetchParent()
void
registerFromUsage(SqmFrom<?,?> sqmFrom, boolean downgradeTreatUses)
Registers that the given SqmFrom was used in an expression and whether to downgradeEntityNameUse.TREAT
of it.void
registerTreatedFrom(SqmFrom<?,?> sqmFrom)
Registers that the given SqmFrom is treated.SqlSelection
resolveSqlSelection(Expression expression, JavaType<?> javaType, FetchParent fetchParent, TypeConfiguration typeConfiguration)
Resolve the SqlSelection for the given expressionvoid
setNestingFetchParent(FetchParent nestedParent)
-
Methods inherited from class org.hibernate.query.sqm.sql.internal.SqlAstProcessingStateImpl
getParentState, getSelections, getSqlAstCreationState, getSqlExpressionResolver, next, resolveSqlExpression
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.ast.spi.SqlAstProcessingState
getParentState, getSqlAstCreationState, getSqlExpressionResolver, isTopLevel
-
Methods inherited from interface org.hibernate.sql.ast.spi.SqlExpressionResolver
resolveSqlExpression
-
-
-
-
Constructor Detail
-
SqlAstQueryPartProcessingStateImpl
public SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)
-
SqlAstQueryPartProcessingStateImpl
public SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Function<SqlExpressionResolver,SqlExpressionResolver> expressionResolverDecorator, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)
-
-
Method Detail
-
getNestingFetchParent
public FetchParent getNestingFetchParent()
-
setNestingFetchParent
public void setNestingFetchParent(FetchParent nestedParent)
-
getInflightQueryPart
public QueryPart getInflightQueryPart()
Description copied from interface:SqlAstQueryPartProcessingState
Get the QueryPart being processed as part of this state. It is considered in-flight as it is probably still being built.- Specified by:
getInflightQueryPart
in interfaceSqlAstQueryPartProcessingState
-
registerTreatedFrom
public void registerTreatedFrom(SqmFrom<?,?> sqmFrom)
Description copied from interface:SqlAstQueryPartProcessingState
Registers that the given SqmFrom is treated.- Specified by:
registerTreatedFrom
in interfaceSqlAstQueryPartProcessingState
-
registerFromUsage
public void registerFromUsage(SqmFrom<?,?> sqmFrom, boolean downgradeTreatUses)
Description copied from interface:SqlAstQueryPartProcessingState
Registers that the given SqmFrom was used in an expression and whether to downgradeEntityNameUse.TREAT
of it.- Specified by:
registerFromUsage
in interfaceSqlAstQueryPartProcessingState
-
getFromRegistrations
public Map<SqmFrom<?,?>,Boolean> getFromRegistrations()
Description copied from interface:SqlAstQueryPartProcessingState
Returns the treated SqmFroms and whether theirEntityNameUse.TREAT
should be downgraded toEntityNameUse.EXPRESSION
.- Specified by:
getFromRegistrations
in interfaceSqlAstQueryPartProcessingState
-
resolveSqlSelection
public SqlSelection resolveSqlSelection(Expression expression, JavaType<?> javaType, FetchParent fetchParent, TypeConfiguration typeConfiguration)
Description copied from interface:SqlExpressionResolver
Resolve the SqlSelection for the given expression- Specified by:
resolveSqlSelection
in interfaceSqlExpressionResolver
- Overrides:
resolveSqlSelection
in classSqlAstProcessingStateImpl
-
-