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_variableis the type of the entity object or embeddable object to which the identification variable corresponds. The type of anidentification_variablethat 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_expressionthat is astate_field_path_expressionis 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_expressionthat is asingle_valued_object_path_expressionis the type of the entity object or embeddable object to which the path expression corresponds. Asingle_valued_object_path_expressionthat 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_expressionthat is an identification_variable to which theKEYorVALUEfunction 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_expressionthat is an identification_variable to which theENTRYfunction 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_expressionis the type of the scalar value to which the expression evaluates. - The result type of an
entity_type_expressionscalar expression is the Java class to which the resulting abstract schema type corresponds. - The result type of a
constructor_expressionis 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
Nested ClassesModifier and TypeClassDescriptionprotected static final classThis visitor is used to check if the expression visited is aCollectionExpression. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ResolverTheResolverfor theExpressionthat was visited. -
Constructor Summary
ConstructorsConstructorDescriptionResolverBuilder(JPQLQueryContext queryContext) Creates a newResolverBuilder. -
Method Summary
Modifier and TypeMethodDescriptionprotected ResolverbuildClassNameResolver(String typeName) Creates a new {link Resolver} that simply wraps the already determined type by using its fully qualified class name.protected ResolverbuildClassResolver(Class<?> type) Creates a new {link Resolver} that simply wraps the already determined type.Creates a visitor that collects theCollectionExpressionif it's been visited.protected ResolverbuildCollectionValuedFieldResolver(String variableName) Creates a newResolverfor the given collection-valued path expression.protected ResolverbuildEnumResolver(AbstractPathExpression expression, IType type, String enumLiteral) Creates a newResolverthat will resolve the given enum literal.protected ResolverCreates a newResolverthat is used when nothing can be resolved.protected ResolverbuildStateFieldResolver(String variableName) Creates a newResolverfor the given state field path expression.voiddispose()Disposes the internal data of this resolver.protected CollectionExpressiongetCollectionExpression(Expression expression) Casts the givenExpressionto aCollectionExpressionif it is actually an object of that type.Returns the visitor that collects theCollectionExpressionif it's been visited.protected DeclarationResolverReturns theDeclarationResolverof the current query's declaration.protected DeclarationResolvergetDeclarationResolver(Expression expression) Returns theDeclarationResolverof the current query's declaration.protected JPQLQueryContextReturns theJPQLQueryContextthat contains information related to the JPQL query.Returns the currentResolverused to resolve anExpression.voidvisit(AbsExpression expression) Visits theAbsExpressionexpression.voidvisit(AbstractSchemaName expression) Visits theAbstractSchemaNameexpression.voidvisit(AdditionExpression expression) Visits theAdditionExpressionexpression.voidvisit(AllOrAnyExpression expression) Visits theAllOrAnyExpressionexpression.voidvisit(AndExpression expression) Visits theAndExpressionexpression.voidvisit(ArithmeticFactor expression) Visits theArithmeticFactorexpression.voidvisit(AvgFunction expression) Visits theAvgFunctionexpression.voidvisit(BadExpression expression) Visits theBadExpressionexpression.voidvisit(BetweenExpression expression) Visits theBetweenExpressionexpression.voidvisit(CaseExpression expression) Visits theCaseExpressionexpression.voidvisit(CoalesceExpression expression) Visits theCoalesceExpressionexpression.voidvisit(CollectionExpression expression) Visits theCollectionExpressionexpression.voidvisit(CollectionMemberDeclaration expression) Visits theCollectionMemberDeclarationexpression.voidvisit(CollectionMemberExpression expression) Visits theCollectionMemberExpressionexpression.voidvisit(CollectionValuedPathExpression expression) Visits theCollectionValuedPathExpressionexpression.voidvisit(ComparisonExpression expression) Visits theComparisonExpressionexpression.voidvisit(ConcatExpression expression) Visits theConcatExpressionexpression.voidvisit(ConstructorExpression expression) Visits theConstructorExpressionexpression.voidvisit(CountFunction expression) Visits theCountFunctionexpression.voidVisits theDateTimeexpression.voidvisit(DeleteClause expression) Visits theDeleteClauseexpression.voidvisit(DeleteStatement expression) Visits theDeleteStatementexpression.voidvisit(DivisionExpression expression) Visits theDivisionExpressionexpression.voidvisit(EmptyCollectionComparisonExpression expression) Visits theEmptyCollectionComparisonExpressionexpression.voidvisit(EntityTypeLiteral expression) Visits theEntityTypeLiteralexpression.voidvisit(EntryExpression expression) Visits theEntryExpressionexpression.voidvisit(ExistsExpression expression) Visits theExistsExpressionexpression.voidvisit(FromClause expression) Visits theFromClauseexpression.voidvisit(FunctionExpression expression) Visits theFunctionExpressionexpression.voidvisit(GroupByClause expression) Visits theGroupByClauseexpression.voidvisit(HavingClause expression) Visits theHavingClauseexpression.voidvisit(IdentificationVariable expression) Visits theIdentificationVariableexpression.voidvisit(IdentificationVariableDeclaration expression) Visits theIdentificationVariableDeclarationexpression.voidvisit(IndexExpression expression) Visits theIndexExpressionexpression.voidvisit(InExpression expression) Visits theInExpressionexpression.voidvisit(InputParameter expression) Visits theInputParameterexpression.voidVisits theJoinexpression.voidvisit(JPQLExpression expression) Visits theJPQLExpressionexpression.voidvisit(KeyExpression expression) Visits theKeyExpressionexpression.voidvisit(KeywordExpression expression) Visits theKeywordExpressionexpression.voidvisit(LengthExpression expression) Visits theLengthExpressionexpression.voidvisit(LikeExpression expression) Visits theLikeExpressionexpression.voidvisit(LocalDateTime expression) Visits theLocalDateTimeexpression.voidvisit(LocalExpression expression) Visits theLocalExpressionexpression.voidvisit(LocateExpression expression) Visits theLocateExpressionexpression.voidvisit(LowerExpression expression) Visits theLowerExpressionexpression.voidvisit(MathDoubleExpression.Power expression) Visits theMathDoubleExpression.Powerexpression.voidvisit(MathDoubleExpression.Round expression) Visits theMathDoubleExpression.Roundexpression.voidvisit(MathSingleExpression.Ceiling expression) Visits theMathSingleExpression.Ceilingexpression.voidvisit(MathSingleExpression.Exp expression) Visits theMathSingleExpression.Expexpression.voidvisit(MathSingleExpression.Floor expression) Visits theMathSingleExpression.Floorexpression.voidvisit(MathSingleExpression.Ln expression) Visits theMathSingleExpression.Lnexpression.voidvisit(MathSingleExpression.Sign expression) Visits theMathSingleExpression.Signexpression.voidvisit(MaxFunction expression) Visits theMaxFunctionexpression.voidvisit(MinFunction expression) Visits theMinFunctionexpression.voidvisit(ModExpression expression) Visits theModExpressionexpression.voidvisit(MultiplicationExpression expression) Visits theMultiplicationExpressionexpression.voidvisit(NotExpression expression) Visits theNotExpressionexpression.voidvisit(NullComparisonExpression expression) Visits theNullComparisonExpressionexpression.voidvisit(NullExpression expression) Visits theNullExpressionexpression.voidvisit(NullIfExpression expression) Visits theNullIfExpressionexpression.voidvisit(NumericLiteral expression) Visits theNumericLiteralexpression.voidvisit(ObjectExpression expression) Visits theObjectExpressionexpression.voidVisits theOnClauseexpression.voidvisit(OrderByClause expression) Visits theOrderByClauseexpression.voidvisit(OrderByItem expression) Visits theOrderByItemexpression.voidvisit(OrExpression expression) Visits theOrExpressionexpression.voidvisit(RangeVariableDeclaration expression) Visits theRangeVariableDeclarationexpression.voidvisit(ResultVariable expression) Visits theResultVariableexpression.voidvisit(SelectClause expression) Visits theSelectClauseexpression.voidvisit(SelectStatement expression) Visits theSelectStatementexpression.voidvisit(SimpleFromClause expression) Visits theSimpleFromClauseexpression.voidvisit(SimpleSelectClause expression) Visits theSimpleSelectClauseexpression.voidvisit(SimpleSelectStatement expression) Visits theSimpleSelectStatementexpression.voidvisit(SizeExpression expression) Visits theSizeExpressionexpression.voidvisit(SqrtExpression expression) Visits theSqrtExpressionexpression.voidvisit(StateFieldPathExpression expression) Visits theStateFieldPathExpressionexpression.voidvisit(StringLiteral expression) Visits theStringLiteralexpression.voidvisit(SubExpression expression) Visits theSubExpressionexpression.voidvisit(SubstringExpression expression) Visits theSubstringExpressionexpression.voidvisit(SubtractionExpression expression) Visits theSubtractionExpressionexpression.voidvisit(SumFunction expression) Visits theSumFunctionexpression.voidvisit(TreatExpression expression) Visits theTreatExpressionexpression.voidvisit(TrimExpression expression) Visits theTrimExpressionexpression.voidvisit(TypeExpression expression) Visits theTypeExpressionexpression.voidvisit(UnknownExpression expression) Visits theUnknownExpressionexpression.voidvisit(UpdateClause expression) Visits theUpdateClauseexpression.voidvisit(UpdateItem expression) Visits theUpdateItemexpression.voidvisit(UpdateStatement expression) Visits theUpdateStatementexpression.voidvisit(UpperExpression expression) Visits theUpperExpressionexpression.voidvisit(ValueExpression expression) Visits theValueExpressionexpression.voidvisit(WhenClause expression) Visits theWhenClauseexpression.voidvisit(WhereClause expression) Visits theWhereClauseexpression.protected voidvisitArithmeticExpression(ArithmeticExpression expression) Visits the givenArithmeticExpressionand create the appropriateResolver.protected voidvisitCollectionEquivalentExpression(Expression expression, Expression extraExpression) Visits the givenExpressionand creates aResolverthat will check the type for each of its children.
-
Field Details
-
resolver
TheResolverfor theExpressionthat was visited.
-
-
Constructor Details
-
ResolverBuilder
Creates a newResolverBuilder.- Parameters:
queryContext- The context used to query information about the JPQL query- Throws:
NullPointerException- TheJPQLQueryContextcannot 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 theCollectionExpressionif it's been visited.- Returns:
- A new
ResolverBuilder.CollectionExpressionVisitor
-
buildCollectionValuedFieldResolver
Creates a newResolverfor the given collection-valued path expression.- Parameters:
variableName- The last segment of the collection-valued path expression- Returns:
- A new
Resolverthat can get the information for a collection-valued path
-
buildEnumResolver
protected Resolver buildEnumResolver(AbstractPathExpression expression, IType type, String enumLiteral) Creates a newResolverthat will resolve the given enum literal.- Parameters:
expression- TheExpressionthat represents the enum literaltype- TheITyperepresenting theEnumtypeenumLiteral- The fully qualified enum constant- Returns:
- The
Resolverfor an enum literal
-
buildNullResolver
Creates a newResolverthat is used when nothing can be resolved.- Returns:
- A "
null" version of aResolver
-
buildStateFieldResolver
Creates a newResolverfor the given state field path expression.- Parameters:
variableName- The last segment of the state field path expression- Returns:
- A new
Resolverthat can get the information for a state field path
-
dispose
public void dispose()Disposes the internal data of this resolver. -
getCollectionExpression
Casts the givenExpressionto aCollectionExpressionif it is actually an object of that type.- Parameters:
expression- TheExpressionto cast- Returns:
- The given
Expressionif it is aCollectionExpressionornullif it is any other object
-
getCollectionExpressionVisitor
Returns the visitor that collects theCollectionExpressionif it's been visited.- Returns:
- The
ResolverBuilder.CollectionExpressionVisitor - See Also:
-
getDeclarationResolver
Returns theDeclarationResolverof 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 theFROMclause.- Returns:
- The
DeclarationResolverfor the current query being visited
-
getDeclarationResolver
Returns theDeclarationResolverof 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 subqueryFROMclause.- Parameters:
expression- TheExpressionthat will be used to retrieve its query expression, i.e. eitherJPQLExpressionorSimpleSelectStatement- Returns:
- The
DeclarationResolverfor the current query being visited
-
getQueryContext
Returns theJPQLQueryContextthat contains information related to the JPQL query.- Returns:
- The
JPQLQueryContext, which is nevernull
-
getResolver
Returns the currentResolverused to resolve anExpression.- Returns:
- The current
Resolver, which should never benull
-
visit
Description copied from interface:ExpressionVisitorVisits theAbsExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theAbstractSchemaNameexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theAdditionExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theAllOrAnyExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theAndExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theArithmeticFactorexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theAvgFunctionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theBadExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theBetweenExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theCaseExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theCoalesceExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theCollectionExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theCollectionMemberDeclarationexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theCollectionMemberExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theCollectionValuedPathExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theComparisonExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theConcatExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theConstructorExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theCountFunctionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theDateTimeexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theDeleteClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theDeleteStatementexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theDivisionExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theEmptyCollectionComparisonExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theEntityTypeLiteralexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theEntryExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theExistsExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theFromClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theFunctionExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theGroupByClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theHavingClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theIdentificationVariableexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theIdentificationVariableDeclarationexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theIndexExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theInExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theInputParameterexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theJoinexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theJPQLExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theKeyExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theKeywordExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theLengthExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theLikeExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theLocalExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theLocalDateTimeexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theLocateExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theLowerExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMathDoubleExpression.Powerexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMathDoubleExpression.Roundexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMathSingleExpression.Ceilingexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMathSingleExpression.Expexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMathSingleExpression.Floorexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMathSingleExpression.Lnexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMathSingleExpression.Signexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMaxFunctionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMinFunctionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theModExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theMultiplicationExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theNotExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theNullComparisonExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theNullExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theNullIfExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theNumericLiteralexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theObjectExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theOnClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theOrderByClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theOrderByItemexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theOrExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theRangeVariableDeclarationexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theResultVariableexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSelectClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSelectStatementexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSimpleFromClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSimpleSelectClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSimpleSelectStatementexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSizeExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSqrtExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theStateFieldPathExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theStringLiteralexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSubExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSubstringExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSubtractionExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theSumFunctionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theTreatExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theTrimExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theTypeExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theUnknownExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheUnknownExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theUpdateClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheUpdateClauseto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theUpdateItemexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheUpdateItemto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theUpdateStatementexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheUpdateStatementto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theUpperExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheUpperExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theValueExpressionexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheValueExpressionto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theWhenClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheWhenClauseto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theWhereClauseexpression.- Specified by:
visitin interfaceExpressionVisitor- Parameters:
expression- TheWhereClauseto visit
-
visitArithmeticExpression
Visits the givenArithmeticExpressionand create the appropriateResolver.- Parameters:
expression- TheArithmeticExpressionto visit
-
visitCollectionEquivalentExpression
protected void visitCollectionEquivalentExpression(Expression expression, Expression extraExpression) Visits the givenExpressionand creates aResolverthat 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- TheExpressionto calculate the type of its childrenextraExpression- ThisExpressionwill be resolved, if it's notnulland its type will be added to the collection of types
-