EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql
Class AbstractGrammarValidator

java.lang.Object
  extended by org.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor
      extended by org.eclipse.persistence.jpa.jpql.AbstractValidator
          extended by org.eclipse.persistence.jpa.jpql.AbstractGrammarValidator
All Implemented Interfaces:
ExpressionVisitor
Direct Known Subclasses:
DefaultGrammarValidator, EclipseLinkGrammarValidator

public abstract class AbstractGrammarValidator
extends AbstractValidator

The base validator responsible to gather the problems found in a JPQL query by validating it against the provided JPQL grammar. The semantic of the JPQL query is not validated by this visitor.

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.2
See Also:
AbstractSemanticValidator
Author:
Pascal Filion
Since:
2.4

Nested Class Summary
protected  class AbstractGrammarValidator.AbstractCollectionValidator
          This validate is responsible to validate the collection of Expressions: Making sure they are all separated by a comma or by a space (depending on which one is required); Making sure it does not end with a comma; There is no empty expression between two commas.
protected  class AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<T extends AbstractDoubleEncapsulatedExpression>
           
protected static interface AbstractGrammarValidator.AbstractEncapsulatedExpressionHelper<T extends AbstractEncapsulatedExpression>
          The root helper that validates any AbstractEncapsulatedExpression.
protected  class AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<T extends AbstractSingleEncapsulatedExpression>
          The abstract implementation of AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper which implements some of the methods since the behavior is the same for all subclasses of AbstractSingleEncapsulatedExpression.
protected  class AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<T extends AbstractTripleEncapsulatedExpression>
           
protected static class AbstractGrammarValidator.CollectionExpressionVisitor
          This visitor retrieves the CollectionExpression if it is visited.
protected  class AbstractGrammarValidator.CollectionSeparatedByCommaValidator
          This validator validates a CollectionExpression by making sure each item is separated by a comma.
protected  class AbstractGrammarValidator.CollectionSeparatedBySpaceValidator
          This validator validates a CollectionExpression by making sure each item is not separated by a comma.
protected static class AbstractGrammarValidator.ComparisonExpressionVisitor
           
protected  class AbstractGrammarValidator.DateTimeVisitor
           
protected static class AbstractGrammarValidator.NullExpressionVisitor
          This visitor checks to see if the visited expression is NullExpression.
 
Nested classes/interfaces inherited from class org.eclipse.persistence.jpa.jpql.AbstractValidator
AbstractValidator.BypassChildCollectionExpressionVisitor, AbstractValidator.BypassParentSubExpressionVisitor, AbstractValidator.ChildrenCollectorVisitor, AbstractValidator.JPQLQueryBNFValidator, AbstractValidator.OwningClauseVisitor, AbstractValidator.OwningStatementVisitor, AbstractValidator.SubqueryVisitor
 
Constructor Summary
protected AbstractGrammarValidator(JPQLGrammar jpqlGrammar)
          Creates a new AbstractGrammarValidator.
 
Method Summary
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AbsExpression> absExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AllOrAnyExpression> allOrAnyExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AvgFunction> avgFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AbsExpression> buildAbsExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AllOrAnyExpression> buildAllOrAnyExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AvgFunction> buildAvgFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CoalesceExpression> buildCoalesceExpressionHelper()
           
protected  AbstractGrammarValidator.CollectionExpressionVisitor buildCollectionExpressionVisitor()
          Creates a visitor that collects the CollectionExpression if it's been visited.
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ConcatExpression> buildConcatExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CountFunction> buildCountFunctionHelper()
           
protected  AbstractGrammarValidator.DateTimeVisitor buildDateTimeVisitor()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<EntryExpression> buildEntryExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ExistsExpression> buildExistsExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<FunctionExpression> buildFunctionExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<IndexExpression> buildIndexExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<KeyExpression> buildKeyExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LengthExpression> buildLengthExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<LocateExpression> buildLocateExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LowerExpression> buildLowerExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MaxFunction> buildMaxFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MinFunction> buildMinFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<ModExpression> buildModExpressionHelper()
           
protected  AbstractGrammarValidator.NullExpressionVisitor buildNullExpressionVisitor()
          Creates a visitor that collects the NullExpression if it's been visited.
protected  AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<NullIfExpression> buildNullIfExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ObjectExpression> buildObjectExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SizeExpression> buildSizeExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SqrtExpression> buildSqrtExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<SubstringExpression> buildSubstringExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SumFunction> buildSumFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TrimExpression> buildTrimExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TypeExpression> buildTypeExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<UpperExpression> buildUpperExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ValueExpression> buildValueExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CoalesceExpression> coalesceExpressionHelper()
           
protected  AbstractGrammarValidator.CollectionSeparatedByCommaValidator collectionSeparatedByCommaValidator()
           
protected  AbstractGrammarValidator.CollectionSeparatedBySpaceValidator collectionSeparatedBySpaceValidator()
           
protected  AbstractGrammarValidator.ComparisonExpressionVisitor comparisonExpressionVisitor()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ConcatExpression> concatExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CountFunction> countFunctionHelper()
           
 void dispose()
          Disposes this visitor.
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<EntryExpression> entryExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ExistsExpression> existsExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<FunctionExpression> functionExpressionHelper()
           
protected  CollectionExpression getCollectionExpression(Expression expression)
          Casts the given Expression to a CollectionExpression if it is actually an object of that type.
protected  AbstractGrammarValidator.CollectionExpressionVisitor getCollectionExpressionVisitor()
          Returns the visitor that collects the CollectionExpression if it's been visited.
protected  AbstractGrammarValidator.DateTimeVisitor getDateTimeVisitor()
           
protected  JPQLGrammar getGrammar()
          Returns the JPQLGrammar that defines how the JPQL query was parsed.
protected
<T> T
getHelper(java.lang.String id)
          Returns the registered helper that was cached with the given id.
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<IndexExpression> indexExpressionHelper()
           
protected  void initialize()
          Initializes this validator.
protected  boolean isChildOfComparisonExpession(AllOrAnyExpression expression)
           
protected  boolean isCollectionExpression(Expression expression)
          Determines whether the given Expression is a CollectionExpression.
protected  boolean isDateTimeConstant(Expression leftExpression)
          Determines whether the given Expression represents one of the three date constants or not.
protected  boolean isInputParameterInValidLocation(InputParameter expression)
           
protected abstract  boolean isJoinFetchIdentifiable()
          Determines whether a JOIN FETCH expression can be identified by with an identification variable or not.
protected  boolean isJPA1_0()
          Determines whether the JPA version defined by the JPQL grammar is 1.0.
protected  boolean isJPA2_0()
          Determines whether the JPA version defined by the JPQL grammar is 2.0.
protected  boolean isJPA2_1()
          Determines whether the JPA version defined by the JPQL grammar is 2.1.
protected  boolean isNewerThan(JPAVersion version)
          Determines whether the JPA version for which the JPQL grammar was defined represents a version that is newer than the given version.
protected  boolean isNewerThanOrEqual(JPAVersion version)
          Determines whether the JPA version for which the JPQL grammar was defined represents a version that is newer than the given version or if it's the same version.
protected  boolean isNumericLiteral(java.lang.String text)
          Determines whether the given sequence of characters is a numeric literal or not.
protected  boolean isOlderThan(JPAVersion version)
          Determines whether the JPA version for which the JPQL grammar was defined represents a version that is older than the given version.
protected  boolean isOlderThanOrEqual(JPAVersion version)
          Determines whether the JPA version for which the JPQL grammar was defined represents a version that is older than the given version or if it's the same version.
protected  boolean isOwnedByConditionalClause(Expression expression)
          Determines whether the given Expression is a child of the WHERE or HAVING clause of the top-level query.
protected  boolean isOwnedByFromClause(Expression expression)
          Determines whether the given Expression is a child of the FROM clause of the top-level query.
protected  boolean isOwnedBySubFromClause(Expression expression)
          Determines whether the given Expression is a child of the FROM clause of a subquery.
protected abstract  boolean isSubqueryAllowedAnywhere()
          Determines whether a subquery can be used in any clause of the top-level query.
protected  boolean isValidJavaIdentifier(java.lang.String variable)
          Determines whether the given variable is a valid Java identifier, which means it follows the Java specification.
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<KeyExpression> keyExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LengthExpression> lengthExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<LocateExpression> locateExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LowerExpression> lowerExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MaxFunction> maxFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MinFunction> minFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<ModExpression> modExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<NullIfExpression> nullIfExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ObjectExpression> objectExpressionHelper()
           
protected  int position(Expression expression, int... extras)
           
protected  void registerHelper(java.lang.String id, java.lang.Object helper)
          Registers the given helper.
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SizeExpression> sizeExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SqrtExpression> sqrtExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<SubstringExpression> substringExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SumFunction> sumFunctionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TrimExpression> trimExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TypeExpression> typeExpressionHelper()
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<UpperExpression> upperExpressionHelper()
           
protected  void validateAbstractConditionalClause(AbstractConditionalClause expression, java.lang.String missingConditionalExpressionMessageKey, java.lang.String invalidConditionalExpressionMessageKey)
           
protected
<T extends AbstractDoubleEncapsulatedExpression>
void
validateAbstractDoubleEncapsulatedExpression(T expression, AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<T> helper)
          Validates the content of an AbstractDoubleEncapsulatedExpression, which encapsulates two expressions separated by a comma.
protected  void validateAbstractFromClause(AbstractFromClause expression)
           
protected  void validateAbstractSelectClause(AbstractSelectClause expression, boolean multipleSelectItemsAllowed)
          Validates the select expression of the given SELECT clause.
protected  void validateAbstractSelectStatement(AbstractSelectStatement expression)
           
protected
<T extends AbstractSingleEncapsulatedExpression>
void
validateAbstractSingleEncapsulatedExpression(T expression, AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<T> helper)
           
protected
<T extends AbstractTripleEncapsulatedExpression>
void
validateAbstractTripleEncapsulatedExpression(T expression, AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<T> helper)
           
protected
<T extends AggregateFunction>
void
validateAggregateFunctionLocation(T expression, AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<T> helper)
           
protected  void validateArithmeticExpression(ArithmeticExpression expression)
           
protected  void validateCollectionSeparatedByComma(Expression expression, java.lang.String endsWithCommaProblemKey, java.lang.String missingCommaProblemKey)
          Validates the given Expression by making sure each child is separated by a comma.
protected  void validateCollectionSeparatedBySpace(Expression expression, java.lang.String endsWithCommaProblemKey, java.lang.String hasCommaProblemKey)
          Validates the given Expression by making sure each child is separated by a whitespace.
protected  void validateCompoundExpression(CompoundExpression expression, java.lang.String identifier, java.lang.String missingLeftExpression, java.lang.String invalidLeftExpression, java.lang.String missingRightExpression, java.lang.String invalidRightExpression, java.lang.String leftExpressionQueryBNF, java.lang.String rightExpressionQueryBNF)
           
protected  void validateIdentificationVariableDeclaration(IdentificationVariableDeclaration expression)
           
protected  void validateIdentifier(Expression expression, java.lang.String variableName, int variableLength, java.lang.String reservedWordProblemKey, java.lang.String invalidJavaIdentifierProblemKey)
          Validates the given variable name to make sure: It is not a JPQL reserved identifier; It is a valid Java identifier.
protected  void validateInputParameters(JPQLExpression expression)
           
protected  void validateJoins(IdentificationVariableDeclaration expression)
           
protected  void validateLikeExpressionEscapeCharacter(LikeExpression expression)
           
protected  void validateLogicalExpression(LogicalExpression expression, java.lang.String leftExpressionQueryBNF, java.lang.String rightExpressionQueryBNF)
           
protected  void validateOwningClause(InputParameter expression, java.lang.String parameter)
           
protected  void validatePathExpression(AbstractPathExpression expression)
           
protected  void validateSimpleSelectStatement(SimpleSelectStatement expression)
           
protected  AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ValueExpression> valueExpressionHelper()
           
 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.
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.AbstractValidator
addProblem, addProblem, addProblem, addProblem, buildChildrenCollector, buildLiteralVisitor, buildOwningClauseVisitor, buildOwningStatementVisitor, buildProblem, buildSubqueryVisitor, getBypassChildCollectionExpressionVisitor, getBypassParentSubExpressionVisitor, getChildren, getChildrenCollectorVisitor, getExpressionRegistry, getExpressionValidator, getJPAVersion, getJPQLQueryBNFValidator, getJPQLQueryBNFValidator, getLiteralVisitor, getOwningClauseVisitor, getOwningStatementVisitor, getProviderVersion, getQueryBNF, getSubqueryVisitor, isSubquery, isValid, isValid, isValid, isValidWithChildCollectionBypass, isWithinSubquery, isWithinTopLevelQuery, length, literal, position, problemsSize, setProblems, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractGrammarValidator

protected AbstractGrammarValidator(JPQLGrammar jpqlGrammar)
Creates a new AbstractGrammarValidator.

Parameters:
jpqlGrammar - The JPQLGrammar that defines how the JPQL query was parsed, which cannot be null
Throws:
java.lang.NullPointerException - If the given JPQLGrammar is null
Method Detail

absExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AbsExpression> absExpressionHelper()

allOrAnyExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AllOrAnyExpression> allOrAnyExpressionHelper()

avgFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AvgFunction> avgFunctionHelper()

buildAbsExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AbsExpression> buildAbsExpressionHelper()

buildAllOrAnyExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AllOrAnyExpression> buildAllOrAnyExpressionHelper()

buildAvgFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<AvgFunction> buildAvgFunctionHelper()

buildCoalesceExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CoalesceExpression> buildCoalesceExpressionHelper()

buildCollectionExpressionVisitor

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

Returns:
A new AbstractGrammarValidator.CollectionExpressionVisitor

buildConcatExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ConcatExpression> buildConcatExpressionHelper()

buildCountFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CountFunction> buildCountFunctionHelper()

buildDateTimeVisitor

protected AbstractGrammarValidator.DateTimeVisitor buildDateTimeVisitor()

buildEntryExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<EntryExpression> buildEntryExpressionHelper()

buildExistsExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ExistsExpression> buildExistsExpressionHelper()

buildFunctionExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<FunctionExpression> buildFunctionExpressionHelper()

buildIndexExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<IndexExpression> buildIndexExpressionHelper()

buildKeyExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<KeyExpression> buildKeyExpressionHelper()

buildLengthExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LengthExpression> buildLengthExpressionHelper()

buildLocateExpressionHelper

protected AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<LocateExpression> buildLocateExpressionHelper()

buildLowerExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LowerExpression> buildLowerExpressionHelper()

buildMaxFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MaxFunction> buildMaxFunctionHelper()

buildMinFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MinFunction> buildMinFunctionHelper()

buildModExpressionHelper

protected AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<ModExpression> buildModExpressionHelper()

buildNullExpressionVisitor

protected AbstractGrammarValidator.NullExpressionVisitor buildNullExpressionVisitor()
Creates a visitor that collects the NullExpression if it's been visited.

Returns:
A new AbstractGrammarValidator.NullExpressionVisitor

buildNullIfExpressionHelper

protected AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<NullIfExpression> buildNullIfExpressionHelper()

buildObjectExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ObjectExpression> buildObjectExpressionHelper()

buildSizeExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SizeExpression> buildSizeExpressionHelper()

buildSqrtExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SqrtExpression> buildSqrtExpressionHelper()

buildSubstringExpressionHelper

protected AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<SubstringExpression> buildSubstringExpressionHelper()

buildSumFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SumFunction> buildSumFunctionHelper()

buildTrimExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TrimExpression> buildTrimExpressionHelper()

buildTypeExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TypeExpression> buildTypeExpressionHelper()

buildUpperExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<UpperExpression> buildUpperExpressionHelper()

buildValueExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ValueExpression> buildValueExpressionHelper()

coalesceExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CoalesceExpression> coalesceExpressionHelper()

collectionSeparatedByCommaValidator

protected AbstractGrammarValidator.CollectionSeparatedByCommaValidator collectionSeparatedByCommaValidator()

collectionSeparatedBySpaceValidator

protected AbstractGrammarValidator.CollectionSeparatedBySpaceValidator collectionSeparatedBySpaceValidator()

comparisonExpressionVisitor

protected AbstractGrammarValidator.ComparisonExpressionVisitor comparisonExpressionVisitor()

concatExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ConcatExpression> concatExpressionHelper()

countFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CountFunction> countFunctionHelper()

dispose

public void dispose()
Disposes this visitor.

Overrides:
dispose in class AbstractValidator

entryExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<EntryExpression> entryExpressionHelper()

existsExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ExistsExpression> existsExpressionHelper()

functionExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<FunctionExpression> functionExpressionHelper()

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 AbstractGrammarValidator.CollectionExpressionVisitor getCollectionExpressionVisitor()
Returns the visitor that collects the CollectionExpression if it's been visited.

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

getDateTimeVisitor

protected AbstractGrammarValidator.DateTimeVisitor getDateTimeVisitor()

getGrammar

protected JPQLGrammar getGrammar()
Returns the JPQLGrammar that defines how the JPQL query was parsed.

Specified by:
getGrammar in class AbstractValidator
Returns:
The JPQLGrammar that was used to parse the JPQL query

getHelper

protected <T> T getHelper(java.lang.String id)
Returns the registered helper that was cached with the given id.

Parameters:
id - The key used to retrieve the cached helper, if one was cached
Returns:
Either the cached helper or null if no helper was previously cached for the given id

indexExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<IndexExpression> indexExpressionHelper()

initialize

protected void initialize()
Initializes this validator.

Overrides:
initialize in class AbstractValidator

isChildOfComparisonExpession

protected boolean isChildOfComparisonExpession(AllOrAnyExpression expression)

isCollectionExpression

protected boolean isCollectionExpression(Expression expression)
Determines whether the given Expression is a CollectionExpression.

Parameters:
expression - The Expression to verify
Returns:
true if the given given Expression is a CollectionExpression; false otherwise

isDateTimeConstant

protected boolean isDateTimeConstant(Expression leftExpression)
Determines whether the given Expression represents one of the three date constants or not.

Parameters:
leftExpression - The Expression to visit
Returns:
true if the given Expression represents one of the tree date constants; false otherwise

isInputParameterInValidLocation

protected boolean isInputParameterInValidLocation(InputParameter expression)

isJoinFetchIdentifiable

protected abstract boolean isJoinFetchIdentifiable()
Determines whether a JOIN FETCH expression can be identified by with an identification variable or not.

Returns:
true if the expression can have an identification variable; false otherwise

isJPA1_0

protected boolean isJPA1_0()
Determines whether the JPA version defined by the JPQL grammar is 1.0.

Returns:
true if the JPQL grammar was defined for JPA 1.0; false if it was defined for a more recent version

isJPA2_0

protected boolean isJPA2_0()
Determines whether the JPA version defined by the JPQL grammar is 2.0.

Returns:
true if the JPQL grammar was defined for JPA 2.0; false if it was defined for a more recent version

isJPA2_1

protected boolean isJPA2_1()
Determines whether the JPA version defined by the JPQL grammar is 2.1.

Returns:
true if the JPQL grammar was defined for JPA 2.1; false if it was defined for a more recent version

isNewerThan

protected final boolean isNewerThan(JPAVersion version)
Determines whether the JPA version for which the JPQL grammar was defined represents a version that is newer than the given version.

Parameters:
version - The constant to verify if it's representing a version that is older than this one
Returns:
true if this constant represents a newer version and the given constant represents a version that is older; false if the given constant represents a newer and this constant represents an older version

isNewerThanOrEqual

protected final boolean isNewerThanOrEqual(JPAVersion version)
Determines whether the JPA version for which the JPQL grammar was defined represents a version that is newer than the given version or if it's the same version.

Parameters:
version - The constant to verify if it's representing a version that is older than this one or if it's the same than this one
Returns:
true if this constant represents a newer version and the given constant represents a version that is older or if it's the same constant; false if the given constant represents a newer and this constant represents an older version

isNumericLiteral

protected boolean isNumericLiteral(java.lang.String text)
Determines whether the given sequence of characters is a numeric literal or not. There are two types of numeric literal that is supported:

Parameters:
text - The sequence of characters to validate
Returns:
true if the given sequence of characters is a valid numeric literal; false otherwise

isOlderThan

protected final boolean isOlderThan(JPAVersion version)
Determines whether the JPA version for which the JPQL grammar was defined represents a version that is older than the given version.

Parameters:
version - The constant to verify if it's representing a version that is more recent than this one
Returns:
true if this constant represents an earlier version and the given constant represents a version that is more recent; false if the given constant represents an earlier version and this constant represents a more recent version

isOlderThanOrEqual

protected final boolean isOlderThanOrEqual(JPAVersion version)
Determines whether the JPA version for which the JPQL grammar was defined represents a version that is older than the given version or if it's the same version.

Parameters:
version - The constant to verify if it's representing a version that is more recent than this one or if it's the same than this one
Returns:
true if this constant represents an earlier version and the given constant represents a version that is more recent or if it's the same constant; false if the given constant represents an earlier version and this constant represents a more recent version

isOwnedByConditionalClause

protected boolean isOwnedByConditionalClause(Expression expression)
Determines whether the given Expression is a child of the WHERE or HAVING clause of the top-level query.

Parameters:
expression - The Expression to visit its parent hierarchy up to the clause
Returns:
true if the first parent being a clause is the WHERE or HAVING clause; false otherwise

isOwnedByFromClause

protected boolean isOwnedByFromClause(Expression expression)
Determines whether the given Expression is a child of the FROM clause of the top-level query.

Parameters:
expression - The Expression to visit its parent hierarchy up to the clause
Returns:
true if the first parent being a clause is the top-level FROM clause; false otherwise

isOwnedBySubFromClause

protected boolean isOwnedBySubFromClause(Expression expression)
Determines whether the given Expression is a child of the FROM clause of a subquery.

Parameters:
expression - The Expression to visit its parent hierarchy up to the clause
Returns:
true if the first parent being a clause is the FROM clause of a subquery; false otherwise

isSubqueryAllowedAnywhere

protected abstract boolean isSubqueryAllowedAnywhere()
Determines whether a subquery can be used in any clause of the top-level query.

Returns:
true if a subquery can be defined in any clause; false if it can only be used within the WHERE and HAVING defined by the JPA 1.0 and 2.0 specification document

isValidJavaIdentifier

protected boolean isValidJavaIdentifier(java.lang.String variable)
Determines whether the given variable is a valid Java identifier, which means it follows the Java specification. The first letter has to be a Java identifier start and the others have to be Java identifier parts.

Parameters:
variable - The variable to validate
Returns:
true if the given variable follows the Java identifier specification; false otherwise

keyExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<KeyExpression> keyExpressionHelper()

lengthExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LengthExpression> lengthExpressionHelper()

locateExpressionHelper

protected AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<LocateExpression> locateExpressionHelper()

lowerExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<LowerExpression> lowerExpressionHelper()

maxFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MaxFunction> maxFunctionHelper()

minFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<MinFunction> minFunctionHelper()

modExpressionHelper

protected AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<ModExpression> modExpressionHelper()

nullIfExpressionHelper

protected AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<NullIfExpression> nullIfExpressionHelper()

objectExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ObjectExpression> objectExpressionHelper()

position

protected int position(Expression expression,
                       int... extras)

registerHelper

protected void registerHelper(java.lang.String id,
                              java.lang.Object helper)
Registers the given helper.

Parameters:
id - The key used to cache the given helper
helper - The helper to cache for future use

sizeExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SizeExpression> sizeExpressionHelper()

sqrtExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SqrtExpression> sqrtExpressionHelper()

substringExpressionHelper

protected AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<SubstringExpression> substringExpressionHelper()

sumFunctionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<SumFunction> sumFunctionHelper()

trimExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TrimExpression> trimExpressionHelper()

typeExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TypeExpression> typeExpressionHelper()

upperExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<UpperExpression> upperExpressionHelper()

validateAbstractConditionalClause

protected void validateAbstractConditionalClause(AbstractConditionalClause expression,
                                                 java.lang.String missingConditionalExpressionMessageKey,
                                                 java.lang.String invalidConditionalExpressionMessageKey)

validateAbstractDoubleEncapsulatedExpression

protected <T extends AbstractDoubleEncapsulatedExpression> void validateAbstractDoubleEncapsulatedExpression(T expression,
                                                                                                             AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<T> helper)
Validates the content of an AbstractDoubleEncapsulatedExpression, which encapsulates two expressions separated by a comma.

Parameters:
expression - The AbstractDoubleEncapsulatedExpression to validate
helper - This helper is used to retrieve specific information related to the expression being validated

validateAbstractFromClause

protected void validateAbstractFromClause(AbstractFromClause expression)

validateAbstractSelectClause

protected void validateAbstractSelectClause(AbstractSelectClause expression,
                                            boolean multipleSelectItemsAllowed)
Validates the select expression of the given SELECT clause. The select expression will only be visited if its JPQL query BNF is part of the select item BNF.

Parameters:
expression - The AbstractSelectClause to validate
multipleSelectItemsAllowed - Determines whether the SELECT can have one or more select expression or not

validateAbstractSelectStatement

protected void validateAbstractSelectStatement(AbstractSelectStatement expression)

validateAbstractSingleEncapsulatedExpression

protected <T extends AbstractSingleEncapsulatedExpression> void validateAbstractSingleEncapsulatedExpression(T expression,
                                                                                                             AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<T> helper)

validateAbstractTripleEncapsulatedExpression

protected <T extends AbstractTripleEncapsulatedExpression> void validateAbstractTripleEncapsulatedExpression(T expression,
                                                                                                             AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper<T> helper)

validateAggregateFunctionLocation

protected <T extends AggregateFunction> void validateAggregateFunctionLocation(T expression,
                                                                               AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<T> helper)

validateArithmeticExpression

protected void validateArithmeticExpression(ArithmeticExpression expression)

validateCollectionSeparatedByComma

protected void validateCollectionSeparatedByComma(Expression expression,
                                                  java.lang.String endsWithCommaProblemKey,
                                                  java.lang.String missingCommaProblemKey)
Validates the given Expression by making sure each child is separated by a comma.

Parameters:
expression - The Expression to validate its children, which should be a series of Expression separated by a comma
endsWithCommaProblemKey - The problem key describing the CollectionExpression is ending with a comma
missingCommaProblemKey - The problem key describing the CollectionExpression has two items not separated by a comma

validateCollectionSeparatedBySpace

protected void validateCollectionSeparatedBySpace(Expression expression,
                                                  java.lang.String endsWithCommaProblemKey,
                                                  java.lang.String hasCommaProblemKey)
Validates the given Expression by making sure each child is separated by a whitespace.

Parameters:
expression - The Expression to validate its children, which should be a series of Expression separated by a whitespace
endsWithCommaProblemKey - The problem key describing the CollectionExpression is ending with a comma
hasCommaProblemKey - The problem key describing the CollectionExpression has two items separated by a comma

validateCompoundExpression

protected void validateCompoundExpression(CompoundExpression expression,
                                          java.lang.String identifier,
                                          java.lang.String missingLeftExpression,
                                          java.lang.String invalidLeftExpression,
                                          java.lang.String missingRightExpression,
                                          java.lang.String invalidRightExpression,
                                          java.lang.String leftExpressionQueryBNF,
                                          java.lang.String rightExpressionQueryBNF)

validateIdentificationVariableDeclaration

protected void validateIdentificationVariableDeclaration(IdentificationVariableDeclaration expression)

validateIdentifier

protected void validateIdentifier(Expression expression,
                                  java.lang.String variableName,
                                  int variableLength,
                                  java.lang.String reservedWordProblemKey,
                                  java.lang.String invalidJavaIdentifierProblemKey)
Validates the given variable name to make sure:

Parameters:
expression - The expression to validate
variableName - The text to actually validate
variableLength - The actual length of the text, which can be longer than the text that is validated
reservedWordProblemKey - The problem key used when the variable name is a reserved JPQL identifier
invalidJavaIdentifierProblemKey - The problem key used when the variable name is not a valid Java identifier

validateInputParameters

protected void validateInputParameters(JPQLExpression expression)

validateJoins

protected void validateJoins(IdentificationVariableDeclaration expression)

validateLikeExpressionEscapeCharacter

protected void validateLikeExpressionEscapeCharacter(LikeExpression expression)

validateLogicalExpression

protected void validateLogicalExpression(LogicalExpression expression,
                                         java.lang.String leftExpressionQueryBNF,
                                         java.lang.String rightExpressionQueryBNF)

validateOwningClause

protected void validateOwningClause(InputParameter expression,
                                    java.lang.String parameter)

validatePathExpression

protected void validatePathExpression(AbstractPathExpression expression)

validateSimpleSelectStatement

protected void validateSimpleSelectStatement(SimpleSelectStatement expression)

valueExpressionHelper

protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ValueExpression> valueExpressionHelper()

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference