EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql
Class ResolverBuilder

java.lang.Object
  extended by org.eclipse.persistence.jpa.jpql.ResolverBuilder
All Implemented Interfaces:
ExpressionVisitor
Direct Known Subclasses:
DefaultResolverBuilder, EclipseLinkResolverBuilder

public abstract class ResolverBuilder
extends java.lang.Object
implements ExpressionVisitor

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:

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.

Version:
2.4
Author:
Pascal Filion
Since:
2.3

Nested Class Summary
protected static class ResolverBuilder.CollectionExpressionVisitor
          This visitor is used to check if the expression visited is a CollectionExpression.
 
Field Summary
static java.util.regex.Pattern DOUBLE_REGEXP
          The Pattern representing the regular expression of a numerical value as a double.
static java.util.regex.Pattern FLOAT_REGEXP
          The Pattern representing the regular expression of a numerical value as a float.
static java.util.regex.Pattern INTEGER_REGEXP
          The Pattern representing the regular expression of a numerical value as an integer.
static java.util.regex.Pattern LONG_REGEXP
          The Pattern representing the regular expression of a numerical value as a long.
protected  Resolver resolver
          The Resolver for the Expression that was visited.
 
Constructor Summary
ResolverBuilder(JPQLQueryContext queryContext)
          Creates a new ResolverBuilder.
 
Method Summary
protected  Resolver buildClassNameResolver(java.lang.String typeName)
          Creates a new {link Resolver} that simply wraps the already determined type by using its fully qualified class name.
protected  Resolver buildClassResolver(java.lang.Class<?> type)
          Creates a new {link Resolver} that simply wraps the already determined type.
protected  ResolverBuilder.CollectionExpressionVisitor buildCollectionExpressionVisitor()
          Creates a visitor that collects the CollectionExpression if it's been visited.
protected  Resolver buildCollectionValuedFieldResolver(java.lang.String variableName)
          Creates a new Resolver for the given collection-valued path expression.
protected  Resolver buildEnumResolver(AbstractPathExpression expression, IType type, java.lang.String enumLiteral)
          Creates a new Resolver that will resolve the given enum literal.
protected  Resolver buildNullResolver()
          Creates a new Resolver that is used when nothing can be resolved.
protected  Resolver buildStateFieldResolver(java.lang.String variableName)
          Creates a new Resolver for the given state field path expression.
protected  CollectionExpression getCollectionExpression(Expression expression)
          Casts the given Expression to a CollectionExpression if it is actually an object of that type.
protected  ResolverBuilder.CollectionExpressionVisitor getCollectionExpressionVisitor()
          Returns the visitor that collects the CollectionExpression if it's been visited.
protected  DeclarationResolver getDeclarationResolver()
          Returns the DeclarationResolver of the current query's declaration.
protected  DeclarationResolver getDeclarationResolver(Expression expression)
          Returns the DeclarationResolver of the current query's declaration.
protected  JPQLQueryContext getQueryContext()
          Returns the JPQLQueryContext that contains information related to the JPQL query.
 Resolver getResolver()
          Returns the current Resolver used to resolve an Expression.
 void visit(AbsExpression expression)
          Visits the AbsExpression expression.
 void visit(AbstractSchemaName expression)
          Visits the AbstractSchemaName expression.
 void visit(AdditionExpression expression)
          Visits the AdditionExpression expression.
 void visit(AllOrAnyExpression expression)
          Visits the AllOrAnyExpression expression.
 void visit(AndExpression expression)
          Visits the AndExpression expression.
 void visit(ArithmeticFactor expression)
          Visits the ArithmeticFactor expression.
 void visit(AvgFunction expression)
          Visits the AvgFunction expression.
 void visit(BadExpression expression)
          Visits the BadExpression expression.
 void visit(BetweenExpression expression)
          Visits the BetweenExpression expression.
 void visit(CaseExpression expression)
          Visits the CaseExpression expression.
 void visit(CoalesceExpression expression)
          Visits the CoalesceExpression expression.
 void visit(CollectionExpression expression)
          Visits the CollectionExpression expression.
 void visit(CollectionMemberDeclaration expression)
          Visits the CollectionMemberDeclaration expression.
 void visit(CollectionMemberExpression expression)
          Visits the CollectionMemberExpression expression.
 void visit(CollectionValuedPathExpression expression)
          Visits the CollectionValuedPathExpression expression.
 void visit(ComparisonExpression expression)
          Visits the ComparisonExpression expression.
 void visit(ConcatExpression expression)
          Visits the ConcatExpression expression.
 void visit(ConstructorExpression expression)
          Visits the ConstructorExpression expression.
 void visit(CountFunction expression)
          Visits the CountFunction expression.
 void visit(DateTime expression)
          Visits the DateTime expression.
 void visit(DeleteClause expression)
          Visits the DeleteClause expression.
 void visit(DeleteStatement expression)
          Visits the DeleteStatement expression.
 void visit(DivisionExpression expression)
          Visits the DivisionExpression expression.
 void visit(EmptyCollectionComparisonExpression expression)
          Visits the EmptyCollectionComparisonExpression expression.
 void visit(EntityTypeLiteral expression)
          Visits the EntityTypeLiteral expression.
 void visit(EntryExpression expression)
          Visits the EntryExpression expression.
 void visit(ExistsExpression expression)
          Visits the ExistsExpression expression.
 void visit(FromClause expression)
          Visits the FromClause expression.
 void visit(FunctionExpression expression)
          Visits the FunctionExpression expression.
 void visit(GroupByClause expression)
          Visits the GroupByClause expression.
 void visit(HavingClause expression)
          Visits the HavingClause expression.
 void visit(IdentificationVariable expression)
          Visits the IdentificationVariable expression.
 void visit(IdentificationVariableDeclaration expression)
          Visits the IdentificationVariableDeclaration expression.
 void visit(IndexExpression expression)
          Visits the IndexExpression expression.
 void visit(InExpression expression)
          Visits the InExpression expression.
 void visit(InputParameter expression)
          Visits the InputParameter expression.
 void visit(Join expression)
          Visits the Join expression.
 void visit(JPQLExpression expression)
          Visits the JPQLExpression expression.
 void visit(KeyExpression expression)
          Visits the KeyExpression expression.
 void visit(KeywordExpression expression)
          Visits the KeywordExpression expression.
 void visit(LengthExpression expression)
          Visits the LengthExpression expression.
 void visit(LikeExpression expression)
          Visits the LikeExpression expression.
 void visit(LocateExpression expression)
          Visits the LocateExpression expression.
 void visit(LowerExpression expression)
          Visits the LowerExpression expression.
 void visit(MaxFunction expression)
          Visits the MaxFunction expression.
 void visit(MinFunction expression)
          Visits the MinFunction expression.
 void visit(ModExpression expression)
          Visits the ModExpression expression.
 void visit(MultiplicationExpression expression)
          Visits the MultiplicationExpression expression.
 void visit(NotExpression expression)
          Visits the NotExpression expression.
 void visit(NullComparisonExpression expression)
          Visits the NullComparisonExpression expression.
 void visit(NullExpression expression)
          Visits the NullExpression expression.
 void visit(NullIfExpression expression)
          Visits the NullIfExpression expression.
 void visit(NumericLiteral expression)
          Visits the NumericLiteral expression.
 void visit(ObjectExpression expression)
          Visits the ObjectExpression expression.
 void visit(OnClause expression)
          Visits the OnClause expression.
 void visit(OrderByClause expression)
          Visits the OrderByClause expression.
 void visit(OrderByItem expression)
          Visits the OrderByItem expression.
 void visit(OrExpression expression)
          Visits the OrExpression expression.
 void visit(RangeVariableDeclaration expression)
          Visits the RangeVariableDeclaration expression.
 void visit(ResultVariable expression)
          Visits the ResultVariable expression.
 void visit(SelectClause expression)
          Visits the SelectClause expression.
 void visit(SelectStatement expression)
          Visits the SelectStatement expression.
 void visit(SimpleFromClause expression)
          Visits the SimpleFromClause expression.
 void visit(SimpleSelectClause expression)
          Visits the SimpleSelectClause expression.
 void visit(SimpleSelectStatement expression)
          Visits the SimpleSelectStatement expression.
 void visit(SizeExpression expression)
          Visits the SizeExpression expression.
 void visit(SqrtExpression expression)
          Visits the SqrtExpression expression.
 void visit(StateFieldPathExpression expression)
          Visits the StateFieldPathExpression expression.
 void visit(StringLiteral expression)
          Visits the StringLiteral expression.
 void visit(SubExpression expression)
          Visits the SubExpression expression.
 void visit(SubstringExpression expression)
          Visits the SubstringExpression expression.
 void visit(SubtractionExpression expression)
          Visits the SubtractionExpression expression.
 void visit(SumFunction expression)
          Visits the SumFunction expression.
 void visit(TreatExpression expression)
          Visits the TreatExpression expression.
 void visit(TrimExpression expression)
          Visits the TrimExpression expression.
 void visit(TypeExpression expression)
          Visits the TypeExpression expression.
 void visit(UnknownExpression expression)
          Visits the UnknownExpression expression.
 void visit(UpdateClause expression)
          Visits the UpdateClause expression.
 void visit(UpdateItem expression)
          Visits the UpdateItem expression.
 void visit(UpdateStatement expression)
          Visits the UpdateStatement expression.
 void visit(UpperExpression expression)
          Visits the UpperExpression expression.
 void visit(ValueExpression expression)
          Visits the ValueExpression expression.
 void visit(WhenClause expression)
          Visits the WhenClause expression.
 void visit(WhereClause expression)
          Visits the WhereClause expression.
protected  void visitArithmeticExpression(ArithmeticExpression expression)
          Visits the given ArithmeticExpression and create the appropriate Resolver.
protected  void visitCollectionEquivalentExpression(Expression expression, Expression extraExpression)
          Visits the given Expression and creates a Resolver that will check the type for each of its children.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

resolver

protected Resolver resolver
The Resolver for the Expression that was visited.


DOUBLE_REGEXP

public static java.util.regex.Pattern DOUBLE_REGEXP
The Pattern representing the regular expression of a numerical value as a double.


FLOAT_REGEXP

public static java.util.regex.Pattern FLOAT_REGEXP
The Pattern representing the regular expression of a numerical value as a float.


INTEGER_REGEXP

public static java.util.regex.Pattern INTEGER_REGEXP
The Pattern representing the regular expression of a numerical value as an integer.


LONG_REGEXP

public static java.util.regex.Pattern LONG_REGEXP
The Pattern representing the regular expression of a numerical value as a long.

Constructor Detail

ResolverBuilder

public ResolverBuilder(JPQLQueryContext queryContext)
Creates a new ResolverBuilder.

Parameters:
queryContext - The context used to query information about the JPQL query
Throws:
java.lang.NullPointerException - The JPQLQueryContext cannot be null
Method Detail

buildClassNameResolver

protected Resolver buildClassNameResolver(java.lang.String typeName)
Creates a new {link Resolver} that simply wraps the already determined type by using its fully qualified class name.

Parameters:
typeName - The fully qualified class name of the Java type to wrap with a Resolver
Returns:
A new Resolver

buildClassResolver

protected Resolver buildClassResolver(java.lang.Class<?> type)
Creates a new {link Resolver} that simply wraps the already determined type.

Parameters:
type - The Java type to wrap with a Resolver
Returns:
A new Resolver

buildCollectionExpressionVisitor

protected ResolverBuilder.CollectionExpressionVisitor buildCollectionExpressionVisitor()
Creates a visitor that collects the CollectionExpression if it's been visited.

Returns:
A new ResolverBuilder.CollectionExpressionVisitor

buildCollectionValuedFieldResolver

protected Resolver buildCollectionValuedFieldResolver(java.lang.String variableName)
Creates a new Resolver 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,
                                     java.lang.String enumLiteral)
Creates a new Resolver that will resolve the given enum literal.

Parameters:
expression - The Expression that represents the enum literal
type - The IType representing the Enum type
enumLiteral - The fully qualified enum constant
Returns:
The Resolver for an enum literal

buildNullResolver

protected Resolver buildNullResolver()
Creates a new Resolver that is used when nothing can be resolved.

Returns:
A "null" version of a Resolver

buildStateFieldResolver

protected Resolver buildStateFieldResolver(java.lang.String variableName)
Creates a new Resolver 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

getCollectionExpression

protected CollectionExpression getCollectionExpression(Expression expression)
Casts the given Expression to a CollectionExpression if it is actually an object of that type.

Parameters:
expression - The Expression to cast
Returns:
The given Expression if it is a CollectionExpression or null if it is any other object

getCollectionExpressionVisitor

protected ResolverBuilder.CollectionExpressionVisitor getCollectionExpressionVisitor()
Returns the visitor that collects the CollectionExpression if it's been visited.

Returns:
The ResolverBuilder.CollectionExpressionVisitor
See Also:
buildCollectionExpressionVisitor()

getDeclarationResolver

protected DeclarationResolver getDeclarationResolver()
Returns the DeclarationResolver 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 the FROM clause.

Returns:
The DeclarationResolver for the current query being visited

getDeclarationResolver

protected DeclarationResolver getDeclarationResolver(Expression expression)
Returns the DeclarationResolver 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 subquery FROM clause.

Parameters:
expression - The Expression that will be used to retrieve its query expression, i.e. either JPQLExpression or SimpleSelectStatement
Returns:
The DeclarationResolver for the current query being visited

getQueryContext

protected JPQLQueryContext getQueryContext()
Returns the JPQLQueryContext that contains information related to the JPQL query.

Returns:
The JPQLQueryContext, which is never null

getResolver

public Resolver getResolver()
Returns the current Resolver used to resolve an Expression.

Returns:
The current Resolver, which should never be null

visit

public void visit(AbsExpression expression)
Visits the AbsExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AbstractSchemaName expression)
Visits the AbstractSchemaName expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AdditionExpression expression)
Visits the AdditionExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AllOrAnyExpression expression)
Visits the AllOrAnyExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AndExpression expression)
Visits the AndExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ArithmeticFactor expression)
Visits the ArithmeticFactor expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AvgFunction expression)
Visits the AvgFunction expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(BadExpression expression)
Visits the BadExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(BetweenExpression expression)
Visits the BetweenExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CaseExpression expression)
Visits the CaseExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CoalesceExpression expression)
Visits the CoalesceExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CollectionExpression expression)
Visits the CollectionExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CollectionMemberDeclaration expression)
Visits the CollectionMemberDeclaration expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CollectionMemberExpression expression)
Visits the CollectionMemberExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CollectionValuedPathExpression expression)
Visits the CollectionValuedPathExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ComparisonExpression expression)
Visits the ComparisonExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ConcatExpression expression)
Visits the ConcatExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ConstructorExpression expression)
Visits the ConstructorExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CountFunction expression)
Visits the CountFunction expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(DateTime expression)
Visits the DateTime expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(DeleteClause expression)
Visits the DeleteClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(DeleteStatement expression)
Visits the DeleteStatement expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(DivisionExpression expression)
Visits the DivisionExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(EmptyCollectionComparisonExpression expression)
Visits the EmptyCollectionComparisonExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(EntityTypeLiteral expression)
Visits the EntityTypeLiteral expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(EntryExpression expression)
Visits the EntryExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ExistsExpression expression)
Visits the ExistsExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(FromClause expression)
Visits the FromClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(FunctionExpression expression)
Visits the FunctionExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(GroupByClause expression)
Visits the GroupByClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(HavingClause expression)
Visits the HavingClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(IdentificationVariable expression)
Visits the IdentificationVariable expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(IdentificationVariableDeclaration expression)
Visits the IdentificationVariableDeclaration expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(IndexExpression expression)
Visits the IndexExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(InExpression expression)
Visits the InExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(InputParameter expression)
Visits the InputParameter expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(Join expression)
Visits the Join expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(JPQLExpression expression)
Visits the JPQLExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(KeyExpression expression)
Visits the KeyExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(KeywordExpression expression)
Visits the KeywordExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(LengthExpression expression)
Visits the LengthExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(LikeExpression expression)
Visits the LikeExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(LocateExpression expression)
Visits the LocateExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(LowerExpression expression)
Visits the LowerExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(MaxFunction expression)
Visits the MaxFunction expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(MinFunction expression)
Visits the MinFunction expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ModExpression expression)
Visits the ModExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(MultiplicationExpression expression)
Visits the MultiplicationExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(NotExpression expression)
Visits the NotExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(NullComparisonExpression expression)
Visits the NullComparisonExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(NullExpression expression)
Visits the NullExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(NullIfExpression expression)
Visits the NullIfExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(NumericLiteral expression)
Visits the NumericLiteral expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ObjectExpression expression)
Visits the ObjectExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(OnClause expression)
Visits the OnClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(OrderByClause expression)
Visits the OrderByClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(OrderByItem expression)
Visits the OrderByItem expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(OrExpression expression)
Visits the OrExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(RangeVariableDeclaration expression)
Visits the RangeVariableDeclaration expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ResultVariable expression)
Visits the ResultVariable expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SelectClause expression)
Visits the SelectClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SelectStatement expression)
Visits the SelectStatement expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SimpleFromClause expression)
Visits the SimpleFromClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SimpleSelectClause expression)
Visits the SimpleSelectClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SimpleSelectStatement expression)
Visits the SimpleSelectStatement expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SizeExpression expression)
Visits the SizeExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SqrtExpression expression)
Visits the SqrtExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(StateFieldPathExpression expression)
Visits the StateFieldPathExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(StringLiteral expression)
Visits the StringLiteral expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SubExpression expression)
Visits the SubExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SubstringExpression expression)
Visits the SubstringExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SubtractionExpression expression)
Visits the SubtractionExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SumFunction expression)
Visits the SumFunction expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(TreatExpression expression)
Visits the TreatExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(TrimExpression expression)
Visits the TrimExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(TypeExpression expression)
Visits the TypeExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(UnknownExpression expression)
Visits the UnknownExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The UnknownExpression to visit

visit

public void visit(UpdateClause expression)
Visits the UpdateClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The UpdateClause to visit

visit

public void visit(UpdateItem expression)
Visits the UpdateItem expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The UpdateItem to visit

visit

public void visit(UpdateStatement expression)
Visits the UpdateStatement expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The UpdateStatement to visit

visit

public void visit(UpperExpression expression)
Visits the UpperExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The UpperExpression to visit

visit

public void visit(ValueExpression expression)
Visits the ValueExpression expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The ValueExpression to visit

visit

public void visit(WhenClause expression)
Visits the WhenClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The WhenClause to visit

visit

public void visit(WhereClause expression)
Visits the WhereClause expression.

Specified by:
visit in interface ExpressionVisitor
Parameters:
expression - The WhereClause to visit

visitArithmeticExpression

protected void visitArithmeticExpression(ArithmeticExpression expression)
Visits the given ArithmeticExpression and create the appropriate Resolver.

Parameters:
expression - The ArithmeticExpression to visit

visitCollectionEquivalentExpression

protected void visitCollectionEquivalentExpression(Expression expression,
                                                   Expression extraExpression)
Visits the given Expression and creates a Resolver that will check the type for each of its children. If the type is the same, then it's the Expression's type; otherwise the type will be Object.

Parameters:
expression - The Expression to calculate the type of its children
extraExpression - This Expression will be resolved, if it's not null and its type will be added to the collection of types

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference