Package org.hibernate.query.sqm.internal
Class SqmTreePrinter
- java.lang.Object
-
- org.hibernate.query.sqm.internal.SqmTreePrinter
-
- All Implemented Interfaces:
SemanticQueryWalker<Object>
public class SqmTreePrinter extends Object implements SemanticQueryWalker<Object>
Printer for an SQM tree - for debugging purpose- Implementation Note:
- At the top-level (statement) we check against
DEBUG_ENABLEDand decide whether to continue or not. That's to avoid unnecessary, continued checking of that boolean. The assumption being that we only ever enter from these statement rules
-
-
Constructor Summary
Constructors Constructor Description SqmTreePrinter()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.query.sqm.SemanticQueryWalker
visitBagJoin, visitCorrelatedBagJoin, visitCorrelatedCrossJoin, visitCorrelatedCteJoin, visitCorrelatedDerivedJoin, visitCorrelatedEntityJoin, visitCorrelatedListJoin, visitCorrelatedMapJoin, visitCorrelatedPluralPartJoin, visitCorrelatedRoot, visitCorrelatedRootJoin, visitCorrelatedSetJoin, visitCorrelatedSingularJoin, visitListJoin, visitMapJoin, visitSetJoin, visitSingularJoin
-
-
-
-
Method Detail
-
logTree
public static void logTree(SqmQuerySpec sqmQuerySpec, String header)
-
logTree
public static void logTree(SqmStatement sqmStatement)
-
visitDeleteStatement
public Object visitDeleteStatement(SqmDeleteStatement<?> statement)
- Specified by:
visitDeleteStatementin interfaceSemanticQueryWalker<Object>
-
visitInsertSelectStatement
public Object visitInsertSelectStatement(SqmInsertSelectStatement<?> statement)
- Specified by:
visitInsertSelectStatementin interfaceSemanticQueryWalker<Object>
-
visitInsertValuesStatement
public Object visitInsertValuesStatement(SqmInsertValuesStatement<?> statement)
- Specified by:
visitInsertValuesStatementin interfaceSemanticQueryWalker<Object>
-
visitSelectStatement
public Object visitSelectStatement(SqmSelectStatement<?> statement)
- Specified by:
visitSelectStatementin interfaceSemanticQueryWalker<Object>
-
visitCteStatement
public Object visitCteStatement(SqmCteStatement sqmCteStatement)
- Specified by:
visitCteStatementin interfaceSemanticQueryWalker<Object>
-
visitCteContainer
public Object visitCteContainer(SqmCteContainer consumer)
- Specified by:
visitCteContainerin interfaceSemanticQueryWalker<Object>
-
visitUpdateStatement
public Object visitUpdateStatement(SqmUpdateStatement<?> statement)
- Specified by:
visitUpdateStatementin interfaceSemanticQueryWalker<Object>
-
visitSetClause
public Object visitSetClause(SqmSetClause setClause)
- Specified by:
visitSetClausein interfaceSemanticQueryWalker<Object>
-
visitAssignment
public Object visitAssignment(SqmAssignment<?> assignment)
- Specified by:
visitAssignmentin interfaceSemanticQueryWalker<Object>
-
visitQueryGroup
public Object visitQueryGroup(SqmQueryGroup<?> queryGroup)
- Specified by:
visitQueryGroupin interfaceSemanticQueryWalker<Object>
-
visitQuerySpec
public Object visitQuerySpec(SqmQuerySpec<?> querySpec)
- Specified by:
visitQuerySpecin interfaceSemanticQueryWalker<Object>
-
visitGroupByClause
public Object visitGroupByClause(List<SqmExpression<?>> groupByClauseExpressions)
- Specified by:
visitGroupByClausein interfaceSemanticQueryWalker<Object>
-
visitHavingClause
public Object visitHavingClause(SqmPredicate predicate)
- Specified by:
visitHavingClausein interfaceSemanticQueryWalker<Object>
-
visitJpaCompoundSelection
public Object visitJpaCompoundSelection(SqmJpaCompoundSelection<?> selection)
- Specified by:
visitJpaCompoundSelectionin interfaceSemanticQueryWalker<Object>
-
visitFromClause
public Object visitFromClause(SqmFromClause fromClause)
- Specified by:
visitFromClausein interfaceSemanticQueryWalker<Object>
-
visitRootPath
public Object visitRootPath(SqmRoot sqmRoot)
- Specified by:
visitRootPathin interfaceSemanticQueryWalker<Object>
-
visitRootDerived
public Object visitRootDerived(SqmDerivedRoot<?> sqmRoot)
- Specified by:
visitRootDerivedin interfaceSemanticQueryWalker<Object>
-
visitRootCte
public Object visitRootCte(SqmCteRoot<?> sqmRoot)
- Specified by:
visitRootCtein interfaceSemanticQueryWalker<Object>
-
visitCrossJoin
public Object visitCrossJoin(SqmCrossJoin joinedFromElement)
- Specified by:
visitCrossJoinin interfaceSemanticQueryWalker<Object>
-
visitPluralPartJoin
public Object visitPluralPartJoin(SqmPluralPartJoin<?,?> joinedFromElement)
- Specified by:
visitPluralPartJoinin interfaceSemanticQueryWalker<Object>
-
visitQualifiedEntityJoin
public Object visitQualifiedEntityJoin(SqmEntityJoin joinedFromElement)
- Specified by:
visitQualifiedEntityJoinin interfaceSemanticQueryWalker<Object>
-
visitQualifiedAttributeJoin
public Object visitQualifiedAttributeJoin(SqmAttributeJoin joinedFromElement)
- Specified by:
visitQualifiedAttributeJoinin interfaceSemanticQueryWalker<Object>
-
visitQualifiedDerivedJoin
public Object visitQualifiedDerivedJoin(SqmDerivedJoin<?> joinedFromElement)
- Specified by:
visitQualifiedDerivedJoinin interfaceSemanticQueryWalker<Object>
-
visitQualifiedCteJoin
public Object visitQualifiedCteJoin(SqmCteJoin<?> joinedFromElement)
- Specified by:
visitQualifiedCteJoinin interfaceSemanticQueryWalker<Object>
-
visitBasicValuedPath
public Object visitBasicValuedPath(SqmBasicValuedSimplePath path)
- Specified by:
visitBasicValuedPathin interfaceSemanticQueryWalker<Object>
-
visitEmbeddableValuedPath
public Object visitEmbeddableValuedPath(SqmEmbeddedValuedSimplePath path)
- Specified by:
visitEmbeddableValuedPathin interfaceSemanticQueryWalker<Object>
-
visitAnyValuedValuedPath
public Object visitAnyValuedValuedPath(SqmAnyValuedSimplePath<?> path)
- Specified by:
visitAnyValuedValuedPathin interfaceSemanticQueryWalker<Object>
-
visitNonAggregatedCompositeValuedPath
public Object visitNonAggregatedCompositeValuedPath(NonAggregatedCompositeSimplePath<?> path)
- Specified by:
visitNonAggregatedCompositeValuedPathin interfaceSemanticQueryWalker<Object>
-
visitFkExpression
public Object visitFkExpression(SqmFkExpression<?> fkExpression)
- Specified by:
visitFkExpressionin interfaceSemanticQueryWalker<Object>
-
visitDiscriminatorPath
public Object visitDiscriminatorPath(EntityDiscriminatorSqmPath sqmPath)
- Specified by:
visitDiscriminatorPathin interfaceSemanticQueryWalker<Object>
-
visitEntityValuedPath
public Object visitEntityValuedPath(SqmEntityValuedSimplePath path)
- Specified by:
visitEntityValuedPathin interfaceSemanticQueryWalker<Object>
-
visitPluralValuedPath
public Object visitPluralValuedPath(SqmPluralValuedSimplePath path)
- Specified by:
visitPluralValuedPathin interfaceSemanticQueryWalker<Object>
-
visitIndexedPluralAccessPath
public Object visitIndexedPluralAccessPath(SqmIndexedCollectionAccessPath<?> path)
- Specified by:
visitIndexedPluralAccessPathin interfaceSemanticQueryWalker<Object>
-
visitTreatedPath
public Object visitTreatedPath(SqmTreatedPath sqmTreatedPath)
- Specified by:
visitTreatedPathin interfaceSemanticQueryWalker<Object>
-
visitCorrelation
public Object visitCorrelation(SqmCorrelation<?,?> correlation)
- Specified by:
visitCorrelationin interfaceSemanticQueryWalker<Object>
-
visitSelectClause
public Object visitSelectClause(SqmSelectClause selectClause)
- Specified by:
visitSelectClausein interfaceSemanticQueryWalker<Object>
-
visitSelection
public Object visitSelection(SqmSelection selection)
- Specified by:
visitSelectionin interfaceSemanticQueryWalker<Object>
-
visitValues
public Object visitValues(SqmValues values)
- Specified by:
visitValuesin interfaceSemanticQueryWalker<Object>
-
visitPositionalParameterExpression
public Object visitPositionalParameterExpression(SqmPositionalParameter expression)
- Specified by:
visitPositionalParameterExpressionin interfaceSemanticQueryWalker<Object>
-
visitNamedParameterExpression
public Object visitNamedParameterExpression(SqmNamedParameter expression)
- Specified by:
visitNamedParameterExpressionin interfaceSemanticQueryWalker<Object>
-
visitJpaCriteriaParameter
public Object visitJpaCriteriaParameter(JpaCriteriaParameter expression)
- Specified by:
visitJpaCriteriaParameterin interfaceSemanticQueryWalker<Object>
-
visitEntityTypeLiteralExpression
public Object visitEntityTypeLiteralExpression(SqmLiteralEntityType expression)
- Specified by:
visitEntityTypeLiteralExpressionin interfaceSemanticQueryWalker<Object>
-
visitParameterizedEntityTypeExpression
public Object visitParameterizedEntityTypeExpression(SqmParameterizedEntityType expression)
- Specified by:
visitParameterizedEntityTypeExpressionin interfaceSemanticQueryWalker<Object>
-
visitUnaryOperationExpression
public Object visitUnaryOperationExpression(SqmUnaryOperation expression)
- Specified by:
visitUnaryOperationExpressionin interfaceSemanticQueryWalker<Object>
-
visitFunction
public Object visitFunction(SqmFunction<?> tSqmFunction)
- Specified by:
visitFunctionin interfaceSemanticQueryWalker<Object>
-
visitCoalesce
public Object visitCoalesce(SqmCoalesce<?> sqmCoalesce)
- Specified by:
visitCoalescein interfaceSemanticQueryWalker<Object>
-
visitToDuration
public Object visitToDuration(SqmToDuration<?> toDuration)
- Specified by:
visitToDurationin interfaceSemanticQueryWalker<Object>
-
visitByUnit
public Object visitByUnit(SqmByUnit sqmByUnit)
- Specified by:
visitByUnitin interfaceSemanticQueryWalker<Object>
-
visitExtractUnit
public Object visitExtractUnit(SqmExtractUnit<?> extractUnit)
- Specified by:
visitExtractUnitin interfaceSemanticQueryWalker<Object>
-
visitFormat
public Object visitFormat(SqmFormat sqmFormat)
- Specified by:
visitFormatin interfaceSemanticQueryWalker<Object>
-
visitCastTarget
public Object visitCastTarget(SqmCastTarget<?> sqmCastTarget)
- Specified by:
visitCastTargetin interfaceSemanticQueryWalker<Object>
-
visitTrimSpecification
public Object visitTrimSpecification(SqmTrimSpecification trimSpecification)
- Specified by:
visitTrimSpecificationin interfaceSemanticQueryWalker<Object>
-
visitDistinct
public Object visitDistinct(SqmDistinct<?> distinct)
- Specified by:
visitDistinctin interfaceSemanticQueryWalker<Object>
-
visitOverflow
public Object visitOverflow(SqmOverflow<?> sqmOverflow)
- Specified by:
visitOverflowin interfaceSemanticQueryWalker<Object>
-
visitDurationUnit
public Object visitDurationUnit(SqmDurationUnit<?> durationUnit)
- Specified by:
visitDurationUnitin interfaceSemanticQueryWalker<Object>
-
visitStar
public Object visitStar(SqmStar sqmStar)
- Specified by:
visitStarin interfaceSemanticQueryWalker<Object>
-
visitOver
public Object visitOver(SqmOver<?> over)
- Specified by:
visitOverin interfaceSemanticQueryWalker<Object>
-
visitWindow
public Object visitWindow(SqmWindow window)
- Specified by:
visitWindowin interfaceSemanticQueryWalker<Object>
-
visitWhereClause
public Object visitWhereClause(SqmWhereClause whereClause)
- Specified by:
visitWhereClausein interfaceSemanticQueryWalker<Object>
-
visitGroupedPredicate
public Object visitGroupedPredicate(SqmGroupedPredicate predicate)
- Specified by:
visitGroupedPredicatein interfaceSemanticQueryWalker<Object>
-
visitJunctionPredicate
public Object visitJunctionPredicate(SqmJunctionPredicate predicate)
- Specified by:
visitJunctionPredicatein interfaceSemanticQueryWalker<Object>
-
visitComparisonPredicate
public Object visitComparisonPredicate(SqmComparisonPredicate predicate)
- Specified by:
visitComparisonPredicatein interfaceSemanticQueryWalker<Object>
-
visitIsEmptyPredicate
public Object visitIsEmptyPredicate(SqmEmptinessPredicate predicate)
- Specified by:
visitIsEmptyPredicatein interfaceSemanticQueryWalker<Object>
-
visitIsNullPredicate
public Object visitIsNullPredicate(SqmNullnessPredicate predicate)
- Specified by:
visitIsNullPredicatein interfaceSemanticQueryWalker<Object>
-
visitBetweenPredicate
public Object visitBetweenPredicate(SqmBetweenPredicate predicate)
- Specified by:
visitBetweenPredicatein interfaceSemanticQueryWalker<Object>
-
visitLikePredicate
public Object visitLikePredicate(SqmLikePredicate predicate)
- Specified by:
visitLikePredicatein interfaceSemanticQueryWalker<Object>
-
visitMemberOfPredicate
public Object visitMemberOfPredicate(SqmMemberOfPredicate predicate)
- Specified by:
visitMemberOfPredicatein interfaceSemanticQueryWalker<Object>
-
visitNegatedPredicate
public Object visitNegatedPredicate(SqmNegatedPredicate predicate)
- Specified by:
visitNegatedPredicatein interfaceSemanticQueryWalker<Object>
-
visitInListPredicate
public Object visitInListPredicate(SqmInListPredicate predicate)
- Specified by:
visitInListPredicatein interfaceSemanticQueryWalker<Object>
-
visitInSubQueryPredicate
public Object visitInSubQueryPredicate(SqmInSubQueryPredicate predicate)
- Specified by:
visitInSubQueryPredicatein interfaceSemanticQueryWalker<Object>
-
visitBooleanExpressionPredicate
public Object visitBooleanExpressionPredicate(SqmBooleanExpressionPredicate predicate)
- Specified by:
visitBooleanExpressionPredicatein interfaceSemanticQueryWalker<Object>
-
visitExistsPredicate
public Object visitExistsPredicate(SqmExistsPredicate sqmExistsPredicate)
- Specified by:
visitExistsPredicatein interfaceSemanticQueryWalker<Object>
-
visitOrderByClause
public Object visitOrderByClause(SqmOrderByClause orderByClause)
- Specified by:
visitOrderByClausein interfaceSemanticQueryWalker<Object>
-
visitSortSpecification
public Object visitSortSpecification(SqmSortSpecification sortSpecification)
- Specified by:
visitSortSpecificationin interfaceSemanticQueryWalker<Object>
-
visitOffsetExpression
public Object visitOffsetExpression(SqmExpression expression)
- Specified by:
visitOffsetExpressionin interfaceSemanticQueryWalker<Object>
-
visitFetchExpression
public Object visitFetchExpression(SqmExpression expression)
- Specified by:
visitFetchExpressionin interfaceSemanticQueryWalker<Object>
-
visitPluralAttributeSizeFunction
public Object visitPluralAttributeSizeFunction(SqmCollectionSize function)
- Specified by:
visitPluralAttributeSizeFunctionin interfaceSemanticQueryWalker<Object>
-
visitMapEntryFunction
public Object visitMapEntryFunction(SqmMapEntryReference<?,?> function)
- Specified by:
visitMapEntryFunctionin interfaceSemanticQueryWalker<Object>
-
visitElementAggregateFunction
public Object visitElementAggregateFunction(SqmElementAggregateFunction binding)
- Specified by:
visitElementAggregateFunctionin interfaceSemanticQueryWalker<Object>
-
visitIndexAggregateFunction
public Object visitIndexAggregateFunction(SqmIndexAggregateFunction path)
- Specified by:
visitIndexAggregateFunctionin interfaceSemanticQueryWalker<Object>
-
visitLiteral
public Object visitLiteral(SqmLiteral literal)
- Specified by:
visitLiteralin interfaceSemanticQueryWalker<Object>
-
visitTuple
public Object visitTuple(SqmTuple sqmTuple)
- Specified by:
visitTuplein interfaceSemanticQueryWalker<Object>
-
visitCollation
public Object visitCollation(SqmCollation sqmCollate)
- Specified by:
visitCollationin interfaceSemanticQueryWalker<Object>
-
visitBinaryArithmeticExpression
public Object visitBinaryArithmeticExpression(SqmBinaryArithmetic expression)
- Specified by:
visitBinaryArithmeticExpressionin interfaceSemanticQueryWalker<Object>
-
visitSubQueryExpression
public Object visitSubQueryExpression(SqmSubQuery expression)
- Specified by:
visitSubQueryExpressionin interfaceSemanticQueryWalker<Object>
-
visitSimpleCaseExpression
public Object visitSimpleCaseExpression(SqmCaseSimple expression)
- Specified by:
visitSimpleCaseExpressionin interfaceSemanticQueryWalker<Object>
-
visitSearchedCaseExpression
public Object visitSearchedCaseExpression(SqmCaseSearched expression)
- Specified by:
visitSearchedCaseExpressionin interfaceSemanticQueryWalker<Object>
-
visitAny
public Object visitAny(SqmAny<?> sqmAny)
- Specified by:
visitAnyin interfaceSemanticQueryWalker<Object>
-
visitEvery
public Object visitEvery(SqmEvery<?> sqmEvery)
- Specified by:
visitEveryin interfaceSemanticQueryWalker<Object>
-
visitSummarization
public Object visitSummarization(SqmSummarization<?> sqmSummarization)
- Specified by:
visitSummarizationin interfaceSemanticQueryWalker<Object>
-
visitAnyDiscriminatorTypeExpression
public Object visitAnyDiscriminatorTypeExpression(AnyDiscriminatorSqmPath<?> expression)
- Specified by:
visitAnyDiscriminatorTypeExpressionin interfaceSemanticQueryWalker<Object>
-
visitAnyDiscriminatorTypeValueExpression
public Object visitAnyDiscriminatorTypeValueExpression(SqmAnyDiscriminatorValue<?> expression)
- Specified by:
visitAnyDiscriminatorTypeValueExpressionin interfaceSemanticQueryWalker<Object>
-
visitDynamicInstantiation
public Object visitDynamicInstantiation(SqmDynamicInstantiation sqmDynamicInstantiation)
- Specified by:
visitDynamicInstantiationin interfaceSemanticQueryWalker<Object>
-
visitEnumLiteral
public Object visitEnumLiteral(SqmEnumLiteral<?> sqmEnumLiteral)
- Specified by:
visitEnumLiteralin interfaceSemanticQueryWalker<Object>
-
visitFieldLiteral
public Object visitFieldLiteral(SqmFieldLiteral<?> sqmFieldLiteral)
- Specified by:
visitFieldLiteralin interfaceSemanticQueryWalker<Object>
-
visitFullyQualifiedClass
public Object visitFullyQualifiedClass(Class namedClass)
- Specified by:
visitFullyQualifiedClassin interfaceSemanticQueryWalker<Object>
-
visitModifiedSubQueryExpression
public Object visitModifiedSubQueryExpression(SqmModifiedSubQueryExpression expression)
- Specified by:
visitModifiedSubQueryExpressionin interfaceSemanticQueryWalker<Object>
-
-