Class ExpressionReplacementWalker
java.lang.Object
org.hibernate.sql.ast.spi.transform.ExpressionReplacementWalker
- All Implemented Interfaces:
SqlAstWalker
@SPI({USE,IMPLEMENT})
public class ExpressionReplacementWalker
extends Object
implements SqlAstWalker
Base walker for replacing expressions in an SQL AST.
Extend this class and override replaceExpression(X) to substitute selected
nodes. Override isLeafExpression(SqlAstNode) only when the provider's expression type
must be treated as an indivisible node during traversal.
- Since:
- 8.0
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a stateless expression-replacement walker. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanisLeafExpression(SqlAstNode expression) protected <X extends SqlAstNode>
XreplaceExpression(X expression) final <X extends SqlAstNode>
XreplaceExpressions(X expression) voidvisitAggregateColumnWriteExpression(AggregateColumnWriteExpression aggregateColumnWriteExpression) voidvoidvisitAssignment(Assignment assignment) voidvisitBetweenPredicate(BetweenPredicate betweenPredicate) voidvisitBinaryArithmeticExpression(BinaryArithmeticExpression arithmeticExpression) voidvisitBooleanExpressionPredicate(BooleanExpressionPredicate booleanExpressionPredicate) voidvisitCaseSearchedExpression(CaseSearchedExpression caseSearchedExpression) voidvisitCaseSimpleExpression(CaseSimpleExpression caseSimpleExpression) voidvisitCastTarget(CastTarget castTarget) voidvisitCollation(Collation collation) voidvisitColumnReference(ColumnReference columnReference) voidvisitColumnWriteFragment(ColumnWriteFragment columnWriteFragment) voidvisitConversion(Conversion conversion) voidvisitCustomTableDelete(TableDeleteCustomSql tableDelete) voidvisitCustomTableInsert(TableInsertCustomSql tableInsert) voidvisitCustomTableUpdate(TableUpdateCustomSql tableUpdate) voidvisitDeleteStatement(DeleteStatement statement) voidvisitDistinct(Distinct distinct) voidvisitDuration(Duration duration) voidvisitDurationUnit(DurationUnit durationUnit) voidvisitEmbeddableTypeLiteral(EmbeddableTypeLiteral expression) voidvisitEntityTypeLiteral(EntityTypeLiteral expression) voidvisitEvery(Every every) voidvisitExistsPredicate(ExistsPredicate existsPredicate) voidvisitExtractUnit(ExtractUnit extractUnit) voidvisitFilterFragmentPredicate(FilterPredicate.FilterFragmentPredicate fragmentPredicate) voidvisitFilterPredicate(FilterPredicate filterPredicate) voidvisitFormat(Format format) voidvisitFromClause(FromClause fromClause) voidvisitFunctionTableReference(FunctionTableReference tableReference) voidvisitGroupedPredicate(GroupedPredicate groupedPredicate) voidvisitInArrayPredicate(InArrayPredicate inArrayPredicate) voidvisitInListPredicate(InListPredicate inListPredicate) voidvisitInsertStatement(InsertSelectStatement statement) voidvisitInSubQueryPredicate(InSubQueryPredicate inSubQueryPredicate) voidvisitJdbcLiteral(JdbcLiteral<?> jdbcLiteral) voidvisitJunction(Junction junction) voidvisitLikePredicate(LikePredicate likePredicate) voidvoidvisitNamedTableReference(NamedTableReference tableReference) voidvisitNegatedPredicate(NegatedPredicate negatedPredicate) voidvisitNestedColumnReference(NestedColumnReference nestedColumnReference) voidvisitNullnessPredicate(NullnessPredicate nullnessPredicate) voidvisitOffsetFetchClause(QueryPart querySpec) voidvisitOptionalTableUpdate(OptionalTableUpdate tableUpdate) voidvoidvisitOverflow(Overflow overflow) voidvisitParameter(JdbcParameter jdbcParameter) voidvisitQueryGroup(QueryGroup queryGroup) voidvisitQueryLiteral(QueryLiteral<?> queryLiteral) voidvisitQueryPartTableReference(QueryPartTableReference tableReference) voidvisitQuerySpec(QuerySpec querySpec) voidvisitRelationalPredicate(ComparisonPredicate comparisonPredicate) voidvisitSelectClause(SelectClause selectClause) voidvisitSelectStatement(SelectStatement statement) voidvisitSelfRenderingExpression(SelfRenderingExpression expression) voidvisitSelfRenderingPredicate(SelfRenderingPredicate selfRenderingPredicate) voidvisitSortSpecification(SortSpecification sortSpecification) voidvisitSqlFragmentPredicate(SqlFragmentPredicate predicate) voidvisitSqlSelection(SqlSelection sqlSelection) voidvisitSqlSelectionExpression(SqlSelectionExpression expression) voidvisitStandardTableDelete(TableDeleteStandard tableDelete) voidvisitStandardTableInsert(TableInsertStandard tableInsert) voidvisitStandardTableUpdate(TableUpdateStandard tableUpdate) voidvoidvisitSummarization(Summarization summarization) voidvisitTableGroup(TableGroup tableGroup) voidvisitTableGroupJoin(TableGroupJoin tableGroupJoin) voidvisitTableReferenceJoin(TableReferenceJoin tableReferenceJoin) voidvisitThruthnessPredicate(ThruthnessPredicate thruthnessPredicate) voidvisitTrimSpecification(TrimSpecification trimSpecification) voidvisitTuple(SqlTuple tuple) voidvisitUnaryOperationExpression(UnaryOperation unaryOperationExpression) <N extends Number>
voidvisitUnparsedNumericLiteral(UnparsedNumericLiteral<N> literal) voidvisitUpdateStatement(UpdateStatement statement) voidvisitValuesTableReference(ValuesTableReference tableReference)
-
Constructor Details
-
ExpressionReplacementWalker
-
-
Method Details
-
replaceExpressions
-
replaceExpression
-
isLeafExpression
-
visitColumnReference
- Specified by:
visitColumnReferencein interfaceSqlAstWalker
-
visitNestedColumnReference
- Specified by:
visitNestedColumnReferencein interfaceSqlAstWalker
-
visitAggregateColumnWriteExpression
public void visitAggregateColumnWriteExpression(AggregateColumnWriteExpression aggregateColumnWriteExpression) - Specified by:
visitAggregateColumnWriteExpressionin interfaceSqlAstWalker
-
visitExtractUnit
- Specified by:
visitExtractUnitin interfaceSqlAstWalker
-
visitFormat
- Specified by:
visitFormatin interfaceSqlAstWalker
-
visitDistinct
- Specified by:
visitDistinctin interfaceSqlAstWalker
-
visitOverflow
- Specified by:
visitOverflowin interfaceSqlAstWalker
-
visitStar
- Specified by:
visitStarin interfaceSqlAstWalker
-
visitTrimSpecification
- Specified by:
visitTrimSpecificationin interfaceSqlAstWalker
-
visitCastTarget
- Specified by:
visitCastTargetin interfaceSqlAstWalker
-
visitBinaryArithmeticExpression
- Specified by:
visitBinaryArithmeticExpressionin interfaceSqlAstWalker
-
visitCaseSearchedExpression
- Specified by:
visitCaseSearchedExpressionin interfaceSqlAstWalker
-
visitCaseSimpleExpression
- Specified by:
visitCaseSimpleExpressionin interfaceSqlAstWalker
-
visitAny
- Specified by:
visitAnyin interfaceSqlAstWalker
-
visitEvery
- Specified by:
visitEveryin interfaceSqlAstWalker
-
visitSummarization
- Specified by:
visitSummarizationin interfaceSqlAstWalker
-
visitOver
- Specified by:
visitOverin interfaceSqlAstWalker
-
visitSelfRenderingExpression
- Specified by:
visitSelfRenderingExpressionin interfaceSqlAstWalker
-
visitSqlSelectionExpression
- Specified by:
visitSqlSelectionExpressionin interfaceSqlAstWalker
-
visitEntityTypeLiteral
- Specified by:
visitEntityTypeLiteralin interfaceSqlAstWalker
-
visitEmbeddableTypeLiteral
- Specified by:
visitEmbeddableTypeLiteralin interfaceSqlAstWalker
-
visitTuple
- Specified by:
visitTuplein interfaceSqlAstWalker
-
visitCollation
- Specified by:
visitCollationin interfaceSqlAstWalker
-
visitParameter
- Specified by:
visitParameterin interfaceSqlAstWalker
-
visitJdbcLiteral
- Specified by:
visitJdbcLiteralin interfaceSqlAstWalker
-
visitQueryLiteral
- Specified by:
visitQueryLiteralin interfaceSqlAstWalker
-
visitUnparsedNumericLiteral
- Specified by:
visitUnparsedNumericLiteralin interfaceSqlAstWalker
-
visitUnaryOperationExpression
- Specified by:
visitUnaryOperationExpressionin interfaceSqlAstWalker
-
visitModifiedSubQueryExpression
- Specified by:
visitModifiedSubQueryExpressionin interfaceSqlAstWalker
-
visitDurationUnit
- Specified by:
visitDurationUnitin interfaceSqlAstWalker
-
visitDuration
- Specified by:
visitDurationin interfaceSqlAstWalker
-
visitConversion
- Specified by:
visitConversionin interfaceSqlAstWalker
-
visitBooleanExpressionPredicate
- Specified by:
visitBooleanExpressionPredicatein interfaceSqlAstWalker
-
visitSqlFragmentPredicate
- Specified by:
visitSqlFragmentPredicatein interfaceSqlAstWalker
-
visitBetweenPredicate
- Specified by:
visitBetweenPredicatein interfaceSqlAstWalker
-
visitGroupedPredicate
- Specified by:
visitGroupedPredicatein interfaceSqlAstWalker
-
visitInListPredicate
- Specified by:
visitInListPredicatein interfaceSqlAstWalker
-
visitInArrayPredicate
- Specified by:
visitInArrayPredicatein interfaceSqlAstWalker
-
visitInSubQueryPredicate
- Specified by:
visitInSubQueryPredicatein interfaceSqlAstWalker
-
visitExistsPredicate
- Specified by:
visitExistsPredicatein interfaceSqlAstWalker
-
visitJunction
- Specified by:
visitJunctionin interfaceSqlAstWalker
-
visitLikePredicate
- Specified by:
visitLikePredicatein interfaceSqlAstWalker
-
visitNegatedPredicate
- Specified by:
visitNegatedPredicatein interfaceSqlAstWalker
-
visitNullnessPredicate
- Specified by:
visitNullnessPredicatein interfaceSqlAstWalker
-
visitThruthnessPredicate
- Specified by:
visitThruthnessPredicatein interfaceSqlAstWalker
-
visitRelationalPredicate
- Specified by:
visitRelationalPredicatein interfaceSqlAstWalker
-
visitSelfRenderingPredicate
- Specified by:
visitSelfRenderingPredicatein interfaceSqlAstWalker
-
visitSelectStatement
- Specified by:
visitSelectStatementin interfaceSqlAstWalker
-
visitDeleteStatement
- Specified by:
visitDeleteStatementin interfaceSqlAstWalker
-
visitUpdateStatement
- Specified by:
visitUpdateStatementin interfaceSqlAstWalker
-
visitInsertStatement
- Specified by:
visitInsertStatementin interfaceSqlAstWalker
-
visitAssignment
- Specified by:
visitAssignmentin interfaceSqlAstWalker
-
visitQueryGroup
- Specified by:
visitQueryGroupin interfaceSqlAstWalker
-
visitQuerySpec
- Specified by:
visitQuerySpecin interfaceSqlAstWalker
-
visitSortSpecification
- Specified by:
visitSortSpecificationin interfaceSqlAstWalker
-
visitOffsetFetchClause
- Specified by:
visitOffsetFetchClausein interfaceSqlAstWalker
-
visitSelectClause
- Specified by:
visitSelectClausein interfaceSqlAstWalker
-
visitSqlSelection
- Specified by:
visitSqlSelectionin interfaceSqlAstWalker
-
visitFromClause
- Specified by:
visitFromClausein interfaceSqlAstWalker
-
visitTableGroup
- Specified by:
visitTableGroupin interfaceSqlAstWalker
-
visitTableGroupJoin
- Specified by:
visitTableGroupJoinin interfaceSqlAstWalker
-
visitNamedTableReference
- Specified by:
visitNamedTableReferencein interfaceSqlAstWalker
-
visitValuesTableReference
- Specified by:
visitValuesTableReferencein interfaceSqlAstWalker
-
visitQueryPartTableReference
- Specified by:
visitQueryPartTableReferencein interfaceSqlAstWalker
-
visitFunctionTableReference
- Specified by:
visitFunctionTableReferencein interfaceSqlAstWalker
-
visitTableReferenceJoin
- Specified by:
visitTableReferenceJoinin interfaceSqlAstWalker
-
visitFilterPredicate
- Specified by:
visitFilterPredicatein interfaceSqlAstWalker
-
visitFilterFragmentPredicate
- Specified by:
visitFilterFragmentPredicatein interfaceSqlAstWalker
-
visitStandardTableInsert
- Specified by:
visitStandardTableInsertin interfaceSqlAstWalker
-
visitCustomTableInsert
- Specified by:
visitCustomTableInsertin interfaceSqlAstWalker
-
visitStandardTableUpdate
- Specified by:
visitStandardTableUpdatein interfaceSqlAstWalker
-
visitOptionalTableUpdate
- Specified by:
visitOptionalTableUpdatein interfaceSqlAstWalker
-
visitCustomTableUpdate
- Specified by:
visitCustomTableUpdatein interfaceSqlAstWalker
-
visitStandardTableDelete
- Specified by:
visitStandardTableDeletein interfaceSqlAstWalker
-
visitCustomTableDelete
- Specified by:
visitCustomTableDeletein interfaceSqlAstWalker
-
visitColumnWriteFragment
- Specified by:
visitColumnWriteFragmentin interfaceSqlAstWalker
-