Top Fields Constructors Methods
org.hibernate.query.sqm.sql.internal

public Class SqlAstQueryPartProcessingStateImpl

extends SqlAstProcessingStateImpl
implements SqlAstQueryPartProcessingState
Class Inheritance
All Implemented Interfaces
org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState, org.hibernate.sql.ast.spi.SqlAstProcessingState
Imports
java.util.Arrays, .HashMap, .Map, java.util.function.Function, .Supplier, org.hibernate.query.sqm.tree.domain.SqmTreatedPath, org.hibernate.query.sqm.tree.from.SqmFrom, org.hibernate.sql.ast.Clause, org.hibernate.sql.ast.spi.SqlAstCreationState, .SqlAstProcessingState, .SqlAstQueryPartProcessingState, .SqlExpressionResolver, .SqlSelection, org.hibernate.sql.ast.tree.expression.ColumnReference, .Expression, org.hibernate.sql.ast.tree.select.QueryPart, .QuerySpec, .SelectClause, org.hibernate.sql.results.graph.FetchParent, org.hibernate.type.descriptor.java.JavaType, org.hibernate.type.spi.TypeConfiguration

Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final boolean
private FetchParent
private int
private final QueryPart
private Map<?, ?>
private final Map<SqmFrom<?, ?>, Boolean>

Constructor Summary

AccessConstructor and Description
public
SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)

public
SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Function<SqlExpressionResolver, SqlExpressionResolver> expressionResolverDecorator, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)

Method Summary

Modifier and TypeMethod and Description
public Map<SqmFrom<?, ?>, Boolean>
public QueryPart
getInflightQueryPart()

Implements org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.getInflightQueryPart.

Get the QueryPart being processed as part of this state.
public FetchParent
public void
registerFromUsage(SqmFrom<?, ?> sqmFrom, boolean downgradeTreatUses)

Implements org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.registerFromUsage.

Registers that the given SqmFrom was used in an expression and whether to downgrade org.hibernate.persister.entity.EntityNameUse#TREAT of it.
public void
registerTreatedFrom(SqmFrom<?, ?> sqmFrom)

Implements org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.registerTreatedFrom.

Registers that the given SqmFrom is treated.
public SqlSelection
public void
Inherited from org.hibernate.query.sqm.sql.internal.SqlAstProcessingStateImpl:
getParentStategetSelectionsgetSqlAstCreationStategetSqlExpressionResolvernextresolveSqlExpression

Field Detail

deduplicateSelectionItemsback to summary
private final boolean deduplicateSelectionItems
nestingFetchParentback to summary
private FetchParent nestingFetchParent
nextJdbcPositionback to summary
private int nextJdbcPosition
queryPartback to summary
private final QueryPart queryPart
sqlSelectionMapback to summary
private Map<?, ?> sqlSelectionMap
sqmFromRegistrationsback to summary
private final Map<SqmFrom<?, ?>, Boolean> sqmFromRegistrations

Constructor Detail

SqlAstQueryPartProcessingStateImplback to summary
public SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)
SqlAstQueryPartProcessingStateImplback to summary
public SqlAstQueryPartProcessingStateImpl(QueryPart queryPart, SqlAstProcessingState parent, SqlAstCreationState creationState, Function<SqlExpressionResolver, SqlExpressionResolver> expressionResolverDecorator, Supplier<Clause> currentClauseAccess, boolean deduplicateSelectionItems)

Method Detail

getFromRegistrationsback to summary
public Map<SqmFrom<?, ?>, Boolean> getFromRegistrations()

Implements org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.getFromRegistrations.

Doc from org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.getFromRegistrations.

Returns the treated SqmFroms and whether their org.hibernate.persister.entity.EntityNameUse#TREAT should be downgraded to org.hibernate.persister.entity.EntityNameUse#EXPRESSION.

Annotations
@Override
getInflightQueryPartback to summary
public QueryPart getInflightQueryPart()

Implements org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.getInflightQueryPart.

Doc from org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.getInflightQueryPart.

Get the QueryPart being processed as part of this state. It is considered in-flight as it is probably still being built.

Annotations
@Override
getNestingFetchParentback to summary
public FetchParent getNestingFetchParent()
registerFromUsageback to summary
public void registerFromUsage(SqmFrom<?, ?> sqmFrom, boolean downgradeTreatUses)

Implements org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.registerFromUsage.

Doc from org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.registerFromUsage.

Registers that the given SqmFrom was used in an expression and whether to downgrade org.hibernate.persister.entity.EntityNameUse#TREAT of it.

Annotations
@Override
registerTreatedFromback to summary
public void registerTreatedFrom(SqmFrom<?, ?> sqmFrom)

Implements org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.registerTreatedFrom.

Doc from org.hibernate.sql.ast.spi.SqlAstQueryPartProcessingState.registerTreatedFrom.

Registers that the given SqmFrom is treated.

Annotations
@Override
resolveSqlSelectionback to summary
public SqlSelection resolveSqlSelection(Expression expression, JavaType<?> javaType, FetchParent fetchParent, TypeConfiguration typeConfiguration)

Overrides org.hibernate.query.sqm.sql.internal.SqlAstProcessingStateImpl.resolveSqlSelection.

Implements org.hibernate.sql.ast.spi.SqlExpressionResolver.resolveSqlSelection.

Doc from org.hibernate.sql.ast.spi.SqlExpressionResolver.resolveSqlSelection.

Resolve the SqlSelection for the given expression

Annotations
@Override
setNestingFetchParentback to summary
public void setNestingFetchParent(FetchParent nestedParent)