Class ResolverBuilder
java.lang.Object
org.eclipse.persistence.jpa.jpql.tools.resolver.ResolverBuilder
- All Implemented Interfaces:
ExpressionVisitor
- Direct Known Subclasses:
DefaultResolverBuilder
,EclipseLinkResolverBuilder
This visitor creates a
Resolver
that gives information about the visited Expression
.
The actual Resolver
will calculate the proper IType
as well.
The type of an Expression
follows the following rules:
- The type of the query result specified by the SELECT clause of a query is an entity abstract schema type, a state field type, the result of a scalar expression, the result of an aggregate function, the result of a construction operation, or some sequence of these.
- The result type of the SELECT clause is defined by the result types of the select expressions contained in it. When multiple select expressions are used in the SELECT clause, the elements in this result correspond in order to the order of their specification in the SELECT clause and in type to the result types of each of the select expressions.
- The result type of an
identification_variable
is the type of the entity object or embeddable object to which the identification variable corresponds. The type of anidentification_variable
that refers to an entity abstract schema type is the type of the entity to which that identification variable corresponds or a subtype as determined by the object/relational mapping. - The result type of a
single_valued_path_expression
that is astate_field_path_expression
is the same type as the corresponding state field of the entity or embeddable class. If the state field of the entity is a primitive type, the result type is the corresponding object type. - The result type of a
single_valued_path_expression
that is asingle_valued_object_path_expression
is the type of the entity object or embeddable object to which the path expression corresponds. Asingle_valued_object_path_expression
that results in an entity object will result in an entity of the type of the relationship field or the subtype of the relationship field of the entity object as determined by the object/relational mapping. - The result type of a
single_valued_path_expression
that is an identification_variable to which theKEY
orVALUE
function has been applied is determined by the type of the map key or value respectively, as defined by the above rules. - The result type of a
single_valued_path_expression
that is an identification_variable to which theENTRY
function has been applied isMap.Entry
, where the key and value types of the map entry are determined by the above rules as applied to the map key and map value respectively. - The result type of a
scalar_expression
is the type of the scalar value to which the expression evaluates. - The result type of an
entity_type_expression
scalar expression is the Java class to which the resulting abstract schema type corresponds. - The result type of a
constructor_expression
is the type of the class for which the constructor is defined. The types of the arguments to the constructor are defined by the above rules.
Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static final class
This visitor is used to check if the expression visited is aCollectionExpression
. -
Field Summary
Modifier and TypeFieldDescriptionprotected Resolver
TheResolver
for theExpression
that was visited. -
Constructor Summary
ConstructorDescriptionResolverBuilder
(JPQLQueryContext queryContext) Creates a newResolverBuilder
. -
Method Summary
Modifier and TypeMethodDescriptionprotected Resolver
buildClassNameResolver
(String typeName) Creates a new {link Resolver} that simply wraps the already determined type by using its fully qualified class name.protected Resolver
buildClassResolver
(Class<?> type) Creates a new {link Resolver} that simply wraps the already determined type.Creates a visitor that collects theCollectionExpression
if it's been visited.protected Resolver
buildCollectionValuedFieldResolver
(String variableName) Creates a newResolver
for the given collection-valued path expression.protected Resolver
buildEnumResolver
(AbstractPathExpression expression, IType type, String enumLiteral) Creates a newResolver
that will resolve the given enum literal.protected Resolver
Creates a newResolver
that is used when nothing can be resolved.protected Resolver
buildStateFieldResolver
(String variableName) Creates a newResolver
for the given state field path expression.void
dispose()
Disposes the internal data of this resolver.protected CollectionExpression
getCollectionExpression
(Expression expression) Casts the givenExpression
to aCollectionExpression
if it is actually an object of that type.Returns the visitor that collects theCollectionExpression
if it's been visited.protected DeclarationResolver
Returns theDeclarationResolver
of the current query's declaration.protected DeclarationResolver
getDeclarationResolver
(Expression expression) Returns theDeclarationResolver
of the current query's declaration.protected JPQLQueryContext
Returns theJPQLQueryContext
that contains information related to the JPQL query.Returns the currentResolver
used to resolve anExpression
.void
visit
(AbsExpression expression) Visits theAbsExpression
expression.void
visit
(AbstractSchemaName expression) Visits theAbstractSchemaName
expression.void
visit
(AdditionExpression expression) Visits theAdditionExpression
expression.void
visit
(AllOrAnyExpression expression) Visits theAllOrAnyExpression
expression.void
visit
(AndExpression expression) Visits theAndExpression
expression.void
visit
(ArithmeticFactor expression) Visits theArithmeticFactor
expression.void
visit
(AvgFunction expression) Visits theAvgFunction
expression.void
visit
(BadExpression expression) Visits theBadExpression
expression.void
visit
(BetweenExpression expression) Visits theBetweenExpression
expression.void
visit
(CaseExpression expression) Visits theCaseExpression
expression.void
visit
(CoalesceExpression expression) Visits theCoalesceExpression
expression.void
visit
(CollectionExpression expression) Visits theCollectionExpression
expression.void
visit
(CollectionMemberDeclaration expression) Visits theCollectionMemberDeclaration
expression.void
visit
(CollectionMemberExpression expression) Visits theCollectionMemberExpression
expression.void
visit
(CollectionValuedPathExpression expression) Visits theCollectionValuedPathExpression
expression.void
visit
(ComparisonExpression expression) Visits theComparisonExpression
expression.void
visit
(ConcatExpression expression) Visits theConcatExpression
expression.void
visit
(ConstructorExpression expression) Visits theConstructorExpression
expression.void
visit
(CountFunction expression) Visits theCountFunction
expression.void
Visits theDateTime
expression.void
visit
(DeleteClause expression) Visits theDeleteClause
expression.void
visit
(DeleteStatement expression) Visits theDeleteStatement
expression.void
visit
(DivisionExpression expression) Visits theDivisionExpression
expression.void
visit
(EmptyCollectionComparisonExpression expression) Visits theEmptyCollectionComparisonExpression
expression.void
visit
(EntityTypeLiteral expression) Visits theEntityTypeLiteral
expression.void
visit
(EntryExpression expression) Visits theEntryExpression
expression.void
visit
(ExistsExpression expression) Visits theExistsExpression
expression.void
visit
(FromClause expression) Visits theFromClause
expression.void
visit
(FunctionExpression expression) Visits theFunctionExpression
expression.void
visit
(GroupByClause expression) Visits theGroupByClause
expression.void
visit
(HavingClause expression) Visits theHavingClause
expression.void
visit
(IdentificationVariable expression) Visits theIdentificationVariable
expression.void
visit
(IdentificationVariableDeclaration expression) Visits theIdentificationVariableDeclaration
expression.void
visit
(IndexExpression expression) Visits theIndexExpression
expression.void
visit
(InExpression expression) Visits theInExpression
expression.void
visit
(InputParameter expression) Visits theInputParameter
expression.void
Visits theJoin
expression.void
visit
(JPQLExpression expression) Visits theJPQLExpression
expression.void
visit
(KeyExpression expression) Visits theKeyExpression
expression.void
visit
(KeywordExpression expression) Visits theKeywordExpression
expression.void
visit
(LengthExpression expression) Visits theLengthExpression
expression.void
visit
(LikeExpression expression) Visits theLikeExpression
expression.void
visit
(LocalDateTime expression) Visits theLocalDateTime
expression.void
visit
(LocalExpression expression) Visits theLocalExpression
expression.void
visit
(LocateExpression expression) Visits theLocateExpression
expression.void
visit
(LowerExpression expression) Visits theLowerExpression
expression.void
visit
(MathDoubleExpression.Power expression) Visits theMathDoubleExpression.Power
expression.void
visit
(MathDoubleExpression.Round expression) Visits theMathDoubleExpression.Round
expression.void
visit
(MathSingleExpression.Ceiling expression) Visits theMathSingleExpression.Ceiling
expression.void
visit
(MathSingleExpression.Exp expression) Visits theMathSingleExpression.Exp
expression.void
visit
(MathSingleExpression.Floor expression) Visits theMathSingleExpression.Floor
expression.void
visit
(MathSingleExpression.Ln expression) Visits theMathSingleExpression.Ln
expression.void
visit
(MathSingleExpression.Sign expression) Visits theMathSingleExpression.Sign
expression.void
visit
(MaxFunction expression) Visits theMaxFunction
expression.void
visit
(MinFunction expression) Visits theMinFunction
expression.void
visit
(ModExpression expression) Visits theModExpression
expression.void
visit
(MultiplicationExpression expression) Visits theMultiplicationExpression
expression.void
visit
(NotExpression expression) Visits theNotExpression
expression.void
visit
(NullComparisonExpression expression) Visits theNullComparisonExpression
expression.void
visit
(NullExpression expression) Visits theNullExpression
expression.void
visit
(NullIfExpression expression) Visits theNullIfExpression
expression.void
visit
(NumericLiteral expression) Visits theNumericLiteral
expression.void
visit
(ObjectExpression expression) Visits theObjectExpression
expression.void
Visits theOnClause
expression.void
visit
(OrderByClause expression) Visits theOrderByClause
expression.void
visit
(OrderByItem expression) Visits theOrderByItem
expression.void
visit
(OrExpression expression) Visits theOrExpression
expression.void
visit
(RangeVariableDeclaration expression) Visits theRangeVariableDeclaration
expression.void
visit
(ResultVariable expression) Visits theResultVariable
expression.void
visit
(SelectClause expression) Visits theSelectClause
expression.void
visit
(SelectStatement expression) Visits theSelectStatement
expression.void
visit
(SimpleFromClause expression) Visits theSimpleFromClause
expression.void
visit
(SimpleSelectClause expression) Visits theSimpleSelectClause
expression.void
visit
(SimpleSelectStatement expression) Visits theSimpleSelectStatement
expression.void
visit
(SizeExpression expression) Visits theSizeExpression
expression.void
visit
(SqrtExpression expression) Visits theSqrtExpression
expression.void
visit
(StateFieldPathExpression expression) Visits theStateFieldPathExpression
expression.void
visit
(StringLiteral expression) Visits theStringLiteral
expression.void
visit
(SubExpression expression) Visits theSubExpression
expression.void
visit
(SubstringExpression expression) Visits theSubstringExpression
expression.void
visit
(SubtractionExpression expression) Visits theSubtractionExpression
expression.void
visit
(SumFunction expression) Visits theSumFunction
expression.void
visit
(TreatExpression expression) Visits theTreatExpression
expression.void
visit
(TrimExpression expression) Visits theTrimExpression
expression.void
visit
(TypeExpression expression) Visits theTypeExpression
expression.void
visit
(UnknownExpression expression) Visits theUnknownExpression
expression.void
visit
(UpdateClause expression) Visits theUpdateClause
expression.void
visit
(UpdateItem expression) Visits theUpdateItem
expression.void
visit
(UpdateStatement expression) Visits theUpdateStatement
expression.void
visit
(UpperExpression expression) Visits theUpperExpression
expression.void
visit
(ValueExpression expression) Visits theValueExpression
expression.void
visit
(WhenClause expression) Visits theWhenClause
expression.void
visit
(WhereClause expression) Visits theWhereClause
expression.protected void
visitArithmeticExpression
(ArithmeticExpression expression) Visits the givenArithmeticExpression
and create the appropriateResolver
.protected void
visitCollectionEquivalentExpression
(Expression expression, Expression extraExpression) Visits the givenExpression
and creates aResolver
that will check the type for each of its children.
-
Field Details
-
resolver
TheResolver
for theExpression
that was visited.
-
-
Constructor Details
-
ResolverBuilder
Creates a newResolverBuilder
.- Parameters:
queryContext
- The context used to query information about the JPQL query- Throws:
NullPointerException
- TheJPQLQueryContext
cannot benull
-
-
Method Details
-
buildClassNameResolver
Creates a new {link Resolver} that simply wraps the already determined type by using its fully qualified class name. -
buildClassResolver
Creates a new {link Resolver} that simply wraps the already determined type. -
buildCollectionExpressionVisitor
Creates a visitor that collects theCollectionExpression
if it's been visited.- Returns:
- A new
ResolverBuilder.CollectionExpressionVisitor
-
buildCollectionValuedFieldResolver
Creates a newResolver
for the given collection-valued path expression.- Parameters:
variableName
- The last segment of the collection-valued path expression- Returns:
- A new
Resolver
that can get the information for a collection-valued path
-
buildEnumResolver
protected Resolver buildEnumResolver(AbstractPathExpression expression, IType type, String enumLiteral) Creates a newResolver
that will resolve the given enum literal.- Parameters:
expression
- TheExpression
that represents the enum literaltype
- TheIType
representing theEnum
typeenumLiteral
- The fully qualified enum constant- Returns:
- The
Resolver
for an enum literal
-
buildNullResolver
Creates a newResolver
that is used when nothing can be resolved.- Returns:
- A "
null
" version of aResolver
-
buildStateFieldResolver
Creates a newResolver
for the given state field path expression.- Parameters:
variableName
- The last segment of the state field path expression- Returns:
- A new
Resolver
that can get the information for a state field path
-
dispose
public void dispose()Disposes the internal data of this resolver. -
getCollectionExpression
Casts the givenExpression
to aCollectionExpression
if it is actually an object of that type.- Parameters:
expression
- TheExpression
to cast- Returns:
- The given
Expression
if it is aCollectionExpression
ornull
if it is any other object
-
getCollectionExpressionVisitor
Returns the visitor that collects theCollectionExpression
if it's been visited.- Returns:
- The
ResolverBuilder.CollectionExpressionVisitor
- See Also:
-
getDeclarationResolver
Returns theDeclarationResolver
of the current query's declaration. For a SELECT query, it contains the information defined in the FROM clause. For DELETE and UPDATE queries, it contains a single range declaration variable. If the current query is a subquery, then it contains the information defined in theFROM
clause.- Returns:
- The
DeclarationResolver
for the current query being visited
-
getDeclarationResolver
Returns theDeclarationResolver
of the current query's declaration. For a SELECT query, it contains the information defined in the FROM clause. For DELETE and UPDATE queries, it contains a single range variable declaration. If the current query is a subquery, then it contains the information defined in the subqueryFROM
clause.- Parameters:
expression
- TheExpression
that will be used to retrieve its query expression, i.e. eitherJPQLExpression
orSimpleSelectStatement
- Returns:
- The
DeclarationResolver
for the current query being visited
-
getQueryContext
Returns theJPQLQueryContext
that contains information related to the JPQL query.- Returns:
- The
JPQLQueryContext
, which is nevernull
-
getResolver
Returns the currentResolver
used to resolve anExpression
.- Returns:
- The current
Resolver
, which should never benull
-
visit
Description copied from interface:ExpressionVisitor
Visits theAbsExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAbstractSchemaName
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAdditionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAllOrAnyExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAndExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theArithmeticFactor
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAvgFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theBadExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theBetweenExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCaseExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCoalesceExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCollectionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCollectionMemberDeclaration
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCollectionMemberExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCollectionValuedPathExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theComparisonExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theConcatExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theConstructorExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCountFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theDateTime
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theDeleteClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theDeleteStatement
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theDivisionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theEmptyCollectionComparisonExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theEntityTypeLiteral
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theEntryExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theExistsExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theFromClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theFunctionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theGroupByClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theHavingClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theIdentificationVariable
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theIdentificationVariableDeclaration
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theIndexExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theInExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theInputParameter
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theJoin
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theJPQLExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theKeyExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theKeywordExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLengthExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLikeExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLocalExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLocalDateTime
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLocateExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLowerExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMathDoubleExpression.Power
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMathDoubleExpression.Round
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMathSingleExpression.Ceiling
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMathSingleExpression.Exp
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMathSingleExpression.Floor
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMathSingleExpression.Ln
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMathSingleExpression.Sign
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMaxFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMinFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theModExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMultiplicationExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNotExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNullComparisonExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNullExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNullIfExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNumericLiteral
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theObjectExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theOnClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theOrderByClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theOrderByItem
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theOrExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theRangeVariableDeclaration
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theResultVariable
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSelectClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSelectStatement
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSimpleFromClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSimpleSelectClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSimpleSelectStatement
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSizeExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSqrtExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theStateFieldPathExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theStringLiteral
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSubExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSubstringExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSubtractionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSumFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theTreatExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theTrimExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theTypeExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theUnknownExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheUnknownExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theUpdateClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheUpdateClause
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theUpdateItem
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheUpdateItem
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theUpdateStatement
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheUpdateStatement
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theUpperExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheUpperExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theValueExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheValueExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theWhenClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheWhenClause
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theWhereClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Parameters:
expression
- TheWhereClause
to visit
-
visitArithmeticExpression
Visits the givenArithmeticExpression
and create the appropriateResolver
.- Parameters:
expression
- TheArithmeticExpression
to visit
-
visitCollectionEquivalentExpression
protected void visitCollectionEquivalentExpression(Expression expression, Expression extraExpression) Visits the givenExpression
and creates aResolver
that will check the type for each of its children. If the type is the same, then it's theExpression
's type; otherwise the type will beObject
.- Parameters:
expression
- TheExpression
to calculate the type of its childrenextraExpression
- ThisExpression
will be resolved, if it's notnull
and its type will be added to the collection of types
-