EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql
Class AbstractContentAssistVisitor

java.lang.Object
  extended by org.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor
      extended by org.eclipse.persistence.jpa.jpql.AbstractContentAssistVisitor
All Implemented Interfaces:
ExpressionVisitor
Direct Known Subclasses:
DefaultContentAssistVisitor, EclipseLinkContentAssistVisitor

public abstract class AbstractContentAssistVisitor
extends AnonymousExpressionVisitor

The visitor provides support for finding the possible proposals within a JPQL query at a certain position.

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
Author:
Pascal Filion
Since:
2.4

Nested Class Summary
protected  class AbstractContentAssistVisitor.AbstractAppendableExpressionVisitor
           
protected  class AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper
           
protected  class AbstractContentAssistVisitor.AbstractFromClauseStatementHelper<T extends AbstractSelectStatement>
           
protected  class AbstractContentAssistVisitor.AbstractGroupByClauseStatementHelper<T extends AbstractSelectStatement>
           
protected  class AbstractContentAssistVisitor.AbstractHavingClauseStatementHelper<T extends AbstractSelectStatement>
           
protected  class AbstractContentAssistVisitor.AbstractSelectClauseCollectionHelper<T extends AbstractSelectClause>
           
protected  class AbstractContentAssistVisitor.AbstractSelectClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.AbstractWhereClauseSelectStatementHelper<T extends AbstractSelectStatement>
           
protected  class AbstractContentAssistVisitor.AcceptableTypeVisitor
          This visitor retrieves the permitted type from the path expression's parent.
protected  class AbstractContentAssistVisitor.AppendableExpressionVisitor
          This visitor scans the visited Expression and determines if a JPQL identifier can be added ("appended") when the position of the cursor is at the end of the expression.
protected static class AbstractContentAssistVisitor.AppendableType
          This is used to determine how AbstractContentAssistVisitor.AbstractAppendableExpressionVisitor should perform the check.
protected static interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
          This helper is used to determine how to add proposals within a collection of expressions.
protected static class AbstractContentAssistVisitor.CollectionExpressionVisitor
          This visitor retrieves the CollectionExpression if it is visited.
protected  class AbstractContentAssistVisitor.CollectionMappingFilter
           
protected  class AbstractContentAssistVisitor.CompletenessVisitor
          This visitor is meant to be subclassed and for its behavior to be completed, which is basically to determine if the Expression is complete or not.
protected  class AbstractContentAssistVisitor.CompoundExpressionHelper
          This helper is responsible to traverse the parsed tree and to determine if JPQL identifiers with a compound role can be appended after an Expression, which is based on the location of the cursor.
protected static interface AbstractContentAssistVisitor.CompoundTypeFilter
           
protected  class AbstractContentAssistVisitor.ConcatExpressionCollectionHelper
           
protected  class AbstractContentAssistVisitor.ConstrutorCollectionHelper
           
protected  class AbstractContentAssistVisitor.DeclarationVisitor
           
protected  class AbstractContentAssistVisitor.DefaultMappingCollector
          The default implementation of AbstractContentAssistVisitor.DefaultMappingCollector, which simply returns an empty collection.
protected  class AbstractContentAssistVisitor.DeleteClauseCollectionHelper
           
protected  class AbstractContentAssistVisitor.DeleteClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.DoubleEncapsulatedCollectionHelper
           
protected  class AbstractContentAssistVisitor.EncapsulatedExpressionVisitor
           
protected  class AbstractContentAssistVisitor.EndingQueryPositionBuilder
          This builder populates a QueryPosition by traversing the valid portion of the JPQL query.
protected  class AbstractContentAssistVisitor.EnumVisitor
          This visitor determines whether a path expression can be resolved as a fully qualified enum type and an enum constant.
protected  class AbstractContentAssistVisitor.FilteringMappingCollector
          This AbstractContentAssistVisitor.DefaultMappingCollector returns the possible mappings (non-collection type or collection type) from a managed type.
protected  class AbstractContentAssistVisitor.FollowingClausesVisitor
           
protected  class AbstractContentAssistVisitor.FollowingInvalidExpressionVisitor
           
protected  class AbstractContentAssistVisitor.FromClauseCollectionHelper
           
protected  class AbstractContentAssistVisitor.FromClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.GroupByClauseCollectionHelper
           
protected  class AbstractContentAssistVisitor.GroupByClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.HavingClauseStatementHelper
           
protected static class AbstractContentAssistVisitor.IdentificationVariableType
          The various ways of retrieving identification variables from the declaration expression.
protected  class AbstractContentAssistVisitor.IncompleteCollectionExpressionVisitor
          This visitor is used when a clause or a compound expression was parsed with a collection of expressions representing an invalid fragment.
protected static class AbstractContentAssistVisitor.InvalidExpressionVisitor
          This visitor determines if the visited Expression is one of the two that represents an invalid expression.
protected  class AbstractContentAssistVisitor.JoinCollectionHelper
           
protected static interface AbstractContentAssistVisitor.MappingCollector
          A collector is responsible to retrieve the possible proposals by using the mappings that can complete a path expression.
protected  class AbstractContentAssistVisitor.MappingFilterBuilder
          This visitor is responsible to create the right Filter based on the type of the Expression.
protected  class AbstractContentAssistVisitor.MappingTypeFilter
          This Filter is responsible to filter out the mappings that can't have their type assignable to the one passed in.
protected  class AbstractContentAssistVisitor.NotExpressionVisitor
           
protected  class AbstractContentAssistVisitor.OrderByClauseCollectionHelper
           
protected  class AbstractContentAssistVisitor.OrderByClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.PropertyMappingFilter
           
protected  class AbstractContentAssistVisitor.RangeVariableDeclarationVisitor
           
protected  class AbstractContentAssistVisitor.ResultVariableVisitor
           
protected  class AbstractContentAssistVisitor.SelectClauseCollectionHelper
           
protected  class AbstractContentAssistVisitor.SelectClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.SimpleFromClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.SimpleGroupByClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.SimpleHavingClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.SimpleSelectClauseCollectionHelper
           
protected  class AbstractContentAssistVisitor.SimpleSelectClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.SimpleWhereClauseSelectStatementHelper
           
protected static interface AbstractContentAssistVisitor.StatementHelper<T extends Expression>
          This helper helps to add JPQL identifiers for the clauses that make up a query statement and also chains the clauses within the query.
protected  class AbstractContentAssistVisitor.SubqueryAppendableExpressionVisitor
           
protected  class AbstractContentAssistVisitor.SubqueryVisitor
          This visitor determines if an Expression is in a subquery.
protected  class AbstractContentAssistVisitor.TrailingCompletenessVisitor
          This visitor is used to determine if the visited Expression is grammatically valid by determining if the ending of the Expression is complete or not.
protected  class AbstractContentAssistVisitor.TripleEncapsulatedCollectionHelper
           
protected  class AbstractContentAssistVisitor.UpdateClauseStatementHelper
           
protected  class AbstractContentAssistVisitor.UpdateItemCollectionHelper
           
protected  class AbstractContentAssistVisitor.VisitParentVisitor
          This visitor is meant to adjust the corrections stack when traversing an Expression in order to increase the list of valid proposals.
protected  class AbstractContentAssistVisitor.WhereClauseDeleteStatementHelper
           
protected  class AbstractContentAssistVisitor.WhereClauseSelectStatementHelper
           
protected  class AbstractContentAssistVisitor.WhereClauseUpdateStatementHelper
           
protected  class AbstractContentAssistVisitor.WithinInvalidExpressionVisitor
           
 
Field Summary
protected  java.util.Map<java.lang.String,AbstractContentAssistVisitor.CompoundTypeFilter> compoundTypeFilters
          This map contains the filter that is used to determine when a compound identifier is a valid proposal, some of them depends on the expression's type.
protected  java.util.Stack<java.lang.Integer> corrections
          This is used to change the position of the cursor in order to add possible proposals
protected  java.util.Map<java.lang.Class<?>,java.lang.Object> helpers
          The cached helpers that are used by this visitor to add valid content assist proposals.
protected  java.util.Stack<Expression> lockedExpressions
          Used to prevent and infinite recursion when one of the visit method is virtually asking a child expression to be visited.
protected  DefaultContentAssistProposals proposals
          The set of possible proposals gathered based on the position in the query.
protected  JPQLQueryContext queryContext
          The context used to query information about the JPQL query.
protected  QueryPosition queryPosition
          Contains the position of the cursor within the parsed Expression from the root node up to the deepest leaf node.
protected static int SPACE_LENGTH
          A constant for the length of a whitespace, which is 1.
protected  java.util.Stack<java.lang.Integer> virtualSpaces
          A virtual space is used to move the position of the cursor by adding an extra space in order to find some proposals within an expression.
protected  java.lang.String word
          The current word, which was retrieved from the JPQL query based on the position of the cursor.
protected  WordParser wordParser
          This is used to retrieve words from the actual JPQL query.
 
Constructor Summary
protected AbstractContentAssistVisitor(JPQLQueryContext queryContext)
          Creates a new AbstractContentAssistVisitor.
 
Method Summary
protected  void addAggregateIdentifier(java.lang.String identifier)
          Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.AGGREGATE and the beginning starts with the current word.
protected  void addAggregateIdentifiers(JPQLQueryBNF queryBNF)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.AGGREGATE and the beginning starts with the current word.
protected  void addAggregateIdentifiers(java.lang.String queryBNFId)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.AGGREGATE and the beginning starts with the current word.
protected  void addArithmeticIdentifiers()
          Adds the JPQL identifiers which correspond to the arithmetic operators as valid proposals.
protected  void addClauseIdentifier(java.lang.String identifier)
          Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.CLAUSE and the beginning starts with the current word.
protected  void addClauseIdentifiers(JPQLQueryBNF queryBNF)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.CLAUSE and the beginning starts with the current word.
protected  void addClauseIdentifiers(java.lang.String queryBNFId)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.CLAUSE and the beginning starts with the current word.
protected  void addComparisonIdentifiers()
          Adds the JPQL identifiers which correspond to the comparison operators as valid proposals.
protected  void addCompositeIdentifier(java.lang.String identifier, int offset)
          Adds the composite JPQL identifier by following the given rules: If the word is empty and the offset is -1, then use the rule used by addIdentifier(String); Otherwise checks the ending of the JPQL query with a portion of the identifier from the entire length of the identifier to the given offset by cutting off the trailing characters.
protected  void addCompoundIdentifier(java.lang.String identifier, Expression expression, boolean hasIs, boolean hasNot)
          Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.COMPOUND_FUNCTION and the beginning starts with the current word.
protected  void addCompoundIdentifiers(JPQLQueryBNF queryBNF, Expression expression, boolean hasIs, boolean hasNot)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.COMPOUND_FUNCTION and the beginning starts with the current word.
protected  void addCompoundIdentifiers(java.lang.String queryBNFId, Expression expression, boolean hasIs, boolean hasNot)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.COMPOUND_FUNCTION and the beginning starts with the current word.
protected  void addEntities()
          Adds the entities as possible content assist proposals but will be filtered using the current word.
protected  void addEntities(IType type)
          Adds the entities as possible content assist proposals but will be filtered using the current word and the entity's type will have to be assignable from the given IType.
protected  void addExpressionFactoryIdentifiers(ExpressionFactory expressionFactory)
          Adds the JPQL identifiers that were registered with the given ExpressionFactory.
protected  void addExpressionFactoryIdentifiers(java.lang.String expressionFactoryId)
          Adds the JPQL identifiers that were registered with the ExpressionFactory with the given unique identifier.
protected  void addFunctionIdentifier(java.lang.String identifier)
          Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.FUNCTION and the beginning starts with the current word.
protected  void addFunctionIdentifiers(Expression expression)
          Adds the JPQL identifiers for which their role is FUNCTION by determining the JPQLQueryBNF that represents the fragment for which the given Expression was parsed.
protected  void addFunctionIdentifiers(JPQLQueryBNF queryBNF)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.FUNCTION and the beginning starts with the current word.
protected  void addFunctionIdentifiers(java.lang.String queryBNFId)
          Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.FUNCTION and the beginning starts with the current word.
protected  void addIdentificationVariable(java.lang.String identificationVariable)
          Adds the given identification variable as a valid proposal.
protected  void addIdentificationVariables()
          Adds all the identification variables defined in the current query's FROM clause.
protected  void addIdentificationVariables(Expression expression, AbstractContentAssistVisitor.IdentificationVariableType type)
          Adds the possible identification variables as valid proposals but filter them based on the given type.
protected  void addIdentifier(java.lang.String identifier)
          Adds the given identifier as a proposal if it passes the checks.
protected  void addJoinIdentifiers()
          Adds the join specification identifiers as proposals.
protected  void addLeftIdentificationVariables(Expression expression)
          Adds the identification variables defined in the current query's FROM clause that are declared before the given Expression.
protected  void addLogicalIdentifiers()
          Adds the logical identifiers, which are AND and OR.
protected  void addRangeIdentificationVariable(java.lang.String identificationVariable)
          Adds the given identification variable as a proposal if it passes the checks.
protected  void addResultVariables()
          Adds the result variables defined in the SELECT clause as valid proposals.
protected  void addVirtualSpace()
          Adds a virtual space on the stack.
protected  boolean areArithmeticSymbolsAppendable(Expression expression)
          Determines whether the given Expression can be followed by an arithmetic operator.
protected  boolean areComparisonSymbolsAppendable(Expression expression)
          Determines whether the given Expression can be followed by a comparison operator.
protected  boolean areLogicalSymbolsAppendable(Expression expression)
          Determines whether the given Expression can be followed by a logical operator.
protected  AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper buildAbstractConditionalClauseCollectionHelper()
           
protected abstract  AbstractContentAssistVisitor.AcceptableTypeVisitor buildAcceptableTypeVisitor()
           
protected  AbstractContentAssistVisitor.AppendableExpressionVisitor buildAppendableExpressionVisitor()
           
protected  AbstractContentAssistVisitor.CollectionExpressionVisitor buildCollectionExpressionVisitor()
           
protected  AbstractContentAssistVisitor.CollectionMappingFilter buildCollectionMappingFilter()
           
protected  AbstractContentAssistVisitor.CompoundExpressionHelper buildCompoundExpressionHelper()
           
protected  AbstractContentAssistVisitor.ConcatExpressionCollectionHelper buildConcatExpressionCollectionHelper()
           
protected  AbstractContentAssistVisitor.ConstrutorCollectionHelper buildConstrutorCollectionHelper()
           
protected  AbstractContentAssistVisitor.DeclarationVisitor buildDeclarationVisitor()
           
protected  AbstractContentAssistVisitor.DefaultMappingCollector buildDefaultMappingCollector()
           
protected  AbstractContentAssistVisitor.DeleteClauseCollectionHelper buildDeleteClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.DeleteClauseStatementHelper buildDeleteClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.DoubleEncapsulatedCollectionHelper buildDoubleEncapsulatedCollectionHelper()
           
protected  AbstractContentAssistVisitor.CompoundTypeFilter buildEmptyCompoundTypeFilter()
           
protected  AbstractContentAssistVisitor.EncapsulatedExpressionVisitor buildEncapsulatedExpressionVisitor()
           
protected  QueryPosition buildEndingPositionFromInvalidExpression(Expression invalidExpression, Expression startingPointExpression, boolean[] virtualSpace)
          Creates a new QueryPosition containing the corrected positions starting at the given Expression and traversing the children at is always at the right side of the tree.
protected  AbstractContentAssistVisitor.EndingQueryPositionBuilder buildEndingQueryPositionBuilder()
           
protected  AbstractContentAssistVisitor.EnumVisitor buildEnumVisitor()
           
protected  AbstractContentAssistVisitor.FilteringMappingCollector buildFilteringMappingCollector(AbstractPathExpression expression, Resolver resolver, Filter<IMapping> filter, java.lang.String pattern)
           
protected  AbstractContentAssistVisitor.FollowingClausesVisitor buildFollowingClausesVisitor()
           
protected  AbstractContentAssistVisitor.FollowingInvalidExpressionVisitor buildFollowingInvalidExpressionVisitor()
           
protected  AbstractContentAssistVisitor.FromClauseCollectionHelper buildFromClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.FromClauseStatementHelper buildFromClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.GroupByClauseCollectionHelper buildGroupByClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.GroupByClauseStatementHelper buildGroupByClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.HavingClauseStatementHelper buildHavingClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.IncompleteCollectionExpressionVisitor buildIncompleteCollectionExpressionVisitor()
           
protected  AbstractContentAssistVisitor.InvalidExpressionVisitor buildInvalidExpressionVisitor()
           
protected  AbstractContentAssistVisitor.JoinCollectionHelper buildJoinCollectionHelper()
           
protected  AbstractValidator.JPQLQueryBNFValidator buildJPQLQueryBNFValidator(JPQLQueryBNF queryBNF)
          Returns the AbstractValidator.JPQLQueryBNFValidator that can be used to validate an Expression by making sure its BNF is part of the given BNF.
protected  AbstractContentAssistVisitor.MappingCollector buildMappingCollector(AbstractPathExpression expression, Resolver resolver, Filter<IMapping> filter)
           
protected  Filter<IMapping> buildMappingFilter(AbstractPathExpression expression, Filter<IMapping> filter)
           
protected  Filter<IMapping> buildMappingFilter(Expression expression)
           
protected  AbstractContentAssistVisitor.MappingFilterBuilder buildMappingFilterBuilder()
           
protected  AbstractContentAssistVisitor.NotExpressionVisitor buildNotExpressionVisitor()
           
protected  AbstractContentAssistVisitor.OrderByClauseCollectionHelper buildOrderByClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.OrderByClauseStatementHelper buildOrderByClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.PropertyMappingFilter buildPropertyMappingFilter()
           
 ContentAssistProposals buildProposals(int position)
          Prepares this visitor by prepopulating it with the necessary data that is required to properly gather the list of proposals based on the given caret position.
protected  AbstractContentAssistVisitor.RangeVariableDeclarationVisitor buildRangeVariableDeclarationVisitor()
           
protected  AbstractContentAssistVisitor.ResultVariableVisitor buildResultVariableVisitor()
           
protected  AbstractContentAssistVisitor.SelectClauseCollectionHelper buildSelectClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.SelectClauseStatementHelper buildSelectClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleFromClauseStatementHelper buildSimpleFromClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleGroupByClauseStatementHelper buildSimpleGroupByClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleHavingClauseStatementHelper buildSimpleHavingClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleSelectClauseCollectionHelper buildSimpleSelectClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.SimpleSelectClauseStatementHelper buildSimpleSelectClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleWhereClauseSelectStatementHelper buildSimpleWhereClauseSelectStatementHelper()
           
protected  AbstractContentAssistVisitor.SubqueryAppendableExpressionVisitor buildSubqueryAppendableExpressionVisitor()
           
protected  AbstractContentAssistVisitor.SubqueryVisitor buildSubqueryVisitor()
           
protected  AbstractContentAssistVisitor.TrailingCompletenessVisitor buildTrailingCompletenessVisitor()
           
protected  AbstractContentAssistVisitor.TripleEncapsulatedCollectionHelper buildTripleEncapsulatedCollectionHelper()
           
protected  AbstractContentAssistVisitor.UpdateClauseStatementHelper buildUpdateClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.UpdateItemCollectionHelper buildUpdateItemCollectionHelper()
           
protected  AbstractContentAssistVisitor.VisitParentVisitor buildVisitParentVisitor()
           
protected  AbstractContentAssistVisitor.WhereClauseDeleteStatementHelper buildWhereClauseDeleteStatementHelper()
           
protected  AbstractContentAssistVisitor.WhereClauseSelectStatementHelper buildWhereClauseSelectStatementHelper()
           
protected  AbstractContentAssistVisitor.WhereClauseUpdateStatementHelper buildWhereClauseUpdateStatementHelper()
           
protected  AbstractContentAssistVisitor.WithinInvalidExpressionVisitor buildWithinInvalidExpressionVisitor()
           
 void dispose()
          Disposes of the internal data.
protected  RangeVariableDeclaration findRangeVariableDeclaration(UpdateClause expression)
          Retrieves the RangeVariableDeclaration that defines the entity name and identification variable for the given UpdateClause.
protected  AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper getAbstractConditionalClauseCollectionHelper()
           
protected  IType getAcceptableType(Expression expression)
          Determines the root IType that any type should be assignable.
protected  AbstractContentAssistVisitor.AppendableExpressionVisitor getAppendableExpressionVisitor()
           
protected  CollectionExpression getCollectionExpression(Expression expression)
          Casts the given Expression to a CollectionExpression if it is actually an object of that type.
protected  AbstractContentAssistVisitor.CollectionExpressionVisitor getCollectionExpressionVisitor()
          Returns the visitor that collects the CollectionExpression if it's been visited.
protected  AbstractContentAssistVisitor.CompoundExpressionHelper getCompoundExpressionHelper()
           
protected  AbstractContentAssistVisitor.ConcatExpressionCollectionHelper getConcatExpressionCollectionHelper()
           
protected  AbstractContentAssistVisitor.ConstrutorCollectionHelper getConstructorCollectionHelper()
           
protected  AbstractContentAssistVisitor.CompoundTypeFilter getCoumpoundTypeFilter(java.lang.String identifier)
           
protected  AbstractContentAssistVisitor.DeclarationVisitor getDeclarationVisitor()
           
protected  AbstractContentAssistVisitor.MappingCollector getDefaultMappingCollector()
           
protected  AbstractContentAssistVisitor.DeleteClauseCollectionHelper getDeleteClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.DeleteClauseStatementHelper getDeleteClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.DoubleEncapsulatedCollectionHelper getDoubleEncapsulatedCollectionHelper()
           
protected  AbstractContentAssistVisitor.EncapsulatedExpressionVisitor getEncapsulatedExpressionVisitor()
           
protected  AbstractContentAssistVisitor.EndingQueryPositionBuilder getEndingQueryPositionBuilder()
           
protected  AbstractContentAssistVisitor.EnumVisitor getEnumVisitor()
           
protected  AbstractContentAssistVisitor.AcceptableTypeVisitor getExpressionTypeVisitor()
           
protected  AbstractContentAssistVisitor.FollowingClausesVisitor getFollowingClausesVisitor()
           
protected  AbstractContentAssistVisitor.FollowingInvalidExpressionVisitor getFollowingInvalidExpressionVisitor()
           
protected  AbstractContentAssistVisitor.FromClauseCollectionHelper getFromClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.FromClauseStatementHelper getFromClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.GroupByClauseCollectionHelper getGroupByClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.GroupByClauseStatementHelper getGroupByClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.HavingClauseStatementHelper getHavingClauseStatementHelper()
           
protected
<T> T
getHelper(java.lang.Class<T> helperClass)
          Retrieves the helper associated with the given helper class.
protected  IdentifierRole getIdentifierRole(java.lang.String identifier)
          Retrieves the role of the given identifier.
protected  AbstractContentAssistVisitor.CompletenessVisitor getIncompleteCollectionExpressionVisitor()
           
protected  AbstractContentAssistVisitor.InvalidExpressionVisitor getInvalidExpressionVisitor()
           
protected  AbstractContentAssistVisitor.JoinCollectionHelper getJoinCollectionHelper()
           
protected  Filter<IMapping> getMappingCollectionFilter()
           
protected  AbstractContentAssistVisitor.MappingFilterBuilder getMappingFilterBuilder()
           
protected  Filter<IMapping> getMappingPropertyFilter()
           
protected  AbstractContentAssistVisitor.NotExpressionVisitor getNotExpressionVisitor()
           
protected  AbstractContentAssistVisitor.OrderByClauseCollectionHelper getOrderByClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.OrderByClauseStatementHelper getOrderByClauseStatementHelper()
           
protected  JPQLQueryBNF getQueryBNF(java.lang.String queryBNFId)
          Retrieves the JPQLQueryBNF that was registered for the given unique identifier.
protected  AbstractContentAssistVisitor.RangeVariableDeclarationVisitor getRangeVariableDeclarationVisitor()
           
protected  AbstractContentAssistVisitor.ResultVariableVisitor getResultVariableVisitor()
           
protected  AbstractContentAssistVisitor.SelectClauseCollectionHelper getSelectClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.SelectClauseStatementHelper getSelectClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleFromClauseStatementHelper getSimpleFromClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleGroupByClauseStatementHelper getSimpleGroupByClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleHavingClauseStatementHelper getSimpleHavingClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleSelectClauseCollectionHelper getSimpleSelectClauseCollectionHelper()
           
protected  AbstractContentAssistVisitor.SimpleSelectClauseStatementHelper getSimpleSelectClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.SimpleWhereClauseSelectStatementHelper getSimpleWhereClauseSelectStatementHelper()
           
protected  AbstractContentAssistVisitor.SubqueryAppendableExpressionVisitor getSubqueryAppendableExpressionVisitor()
           
protected  AbstractContentAssistVisitor.SubqueryVisitor getSubqueryVisitor()
           
protected  AbstractContentAssistVisitor.TrailingCompletenessVisitor getTrailingCompletenessVisitor()
           
protected  AbstractContentAssistVisitor.TripleEncapsulatedCollectionHelper getTripleEncapsulatedCollectionHelper()
           
protected  AbstractContentAssistVisitor.UpdateClauseStatementHelper getUpdateClauseStatementHelper()
           
protected  AbstractContentAssistVisitor.UpdateItemCollectionHelper getUpdateItemCollectionHelper()
           
protected  AbstractContentAssistVisitor.VisitParentVisitor getVisitParentVisitor()
           
protected  AbstractContentAssistVisitor.WhereClauseDeleteStatementHelper getWhereClauseDeleteStatementHelper()
           
protected  AbstractContentAssistVisitor.WhereClauseSelectStatementHelper getWhereClauseSelectStatementHelper()
           
protected  AbstractContentAssistVisitor.WhereClauseUpdateStatementHelper getWhereClauseUpdateStatementHelper()
           
protected  AbstractContentAssistVisitor.WithinInvalidExpressionVisitor getWithinInvalidExpressionVisitor()
           
protected  boolean hasClausesDefinedBetween(Expression expression, java.lang.String afterIdentifier, java.lang.String beforeIdentifier)
           
protected  boolean hasVirtualSpace()
          Determines whether there is a virtual space to be considered or not.
protected  void initialize()
          Initializes this visitor.
protected  boolean isAggregate(java.lang.String identifier)
          Determines whether the given JPQL identifier used in an aggregate expression; for instance AND.
protected  boolean isAppendable(Expression expression, AbstractContentAssistVisitor.AppendableType appendableType)
          Determines whether a certain type of JPQL identifiers can be appended to the JPQL query based on the given Expression.
protected  boolean isAppendableToCollection(Expression expression)
          Determines whether
protected  boolean isClause(java.lang.String identifier)
          Determines whether the given JPQL identifier used in a clause; for instance SELECT.
protected  boolean isClauseAppendable(Expression expression)
          Determines whether the identifiers identifying clauses can be appended to the JPQL query based on the given Expression.
protected  boolean isComplete(Expression expression)
          Determines whether the given Expression is complete or not.
protected  boolean isCompoundable(Expression expression)
          Determines whether the given Expression can be used as the left side of a compound expression.
protected  boolean isCompoundFunction(java.lang.String identifier)
          Determines whether the given JPQL identifier used in a compound expression; an example would be BETWEEN or MEMBER.
protected  boolean isDeclaration(AbstractPathExpression expression)
          Determines whether the given AbstractPathExpression is found within a declaration expression.
protected  boolean isEncapsulated(Expression expression)
          Determines whether the given Expression is being encapsulated or not.
protected  boolean isEnumAllowed(AbstractPathExpression expression)
          Determines whether the given AbstractPathExpression could potentially represent a fully qualified enum constant, which is dictated by the location of the path expression within the query.
protected  boolean isFollowingInvalidExpression(Expression expression)
          Determines whether the given Expression is preceded by an invalid expression.
protected  boolean isFunction(java.lang.String identifier)
          Determines whether the given JPQL identifier is a function, an example would be AVG.
protected  boolean isInSubquery(Expression expression)
          Determines whether the given Expression is in a subquery or in the top-level query.
protected  boolean isInvalidExpression(Expression expression)
          Determines whether the given Expression represents an invalid fragment.
protected abstract  boolean isJoinFetchIdentifiable()
          Determines whether a JOIN FETCH expression can be identified by with an identification variable or not.
protected  boolean isLocked(Expression expression)
          Determines whether the given Expression has been set has the lock to prevent an infinite recursion.
protected  boolean isNotExpression(Expression expression)
          Determines whether the given Expression represents the negated expression.
protected  boolean isPositionWithin(int position, int offset, java.lang.String word)
          Determines whether the given position is within the given word.
protected  boolean isPositionWithin(int position, java.lang.String word)
          Determines whether the given position is within the given word.
protected  boolean isSubqueryAppendable(Expression expression)
          Determines whether the JPQL identifier starting a subquery (SELECT) can be appended based on the given Expression which is preceding the position of the cursor.
protected  boolean isValid(Expression expression, JPQLQueryBNF queryBNF)
          Determines whether the given Expression part is an expression of the given query BNF.
protected  boolean isValid(Expression expression, java.lang.String queryBNFId)
          Determines whether the given Expression part is an expression of the given query BNF.
protected  boolean isValid(JPQLQueryBNF parentQueryBNF, JPQLQueryBNF queryBNF)
          Determines whether the given JPQLQueryBNF part is the given parent JPQLQueryBNF.
protected  boolean isValid(JPQLQueryBNF parentQueryBNF, JPQLQueryBNF queryBNF, boolean bypassCompound)
          Determines whether the given JPQLQueryBNF part is the given parent JPQLQueryBNF.
protected  boolean isValid(JPQLQueryBNF parentQueryBNF, java.lang.String queryBNFId, boolean bypassCompound)
          Determines whether the given JPQLQueryBNF part is the given parent JPQLQueryBNF.
protected  boolean isValidProposal(java.lang.String proposal, java.lang.String word)
          Determines whether the given proposal is a valid, which is based on the content of the given word.
protected  boolean isValidVersion(java.lang.String identifier)
          Determines whether the given JPQL identifier can be a valid proposal, i.e. if it's part of the grammar of the JPA version that was used to parse the JPQL query.
protected  boolean isWithinInvalidExpression(Expression expression)
          Determines whether the given Expression is part of an invalid fragment
protected
<T> void
registerHelper(java.lang.Class<T> helperClass, T helper)
          Registers the given helper associated with the given helper class.
protected  void removeVirtualSpace()
          Removes the last virtual space from the stack.
 java.lang.String toString()
          
 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.
protected  void visit(Expression expression)
          Blindly visit the given 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 visitAggregateFunction(AggregateFunction expression)
          Visits the given AggregateFunction and attempts to find valid proposals.
protected  void visitArithmeticExpression(ArithmeticExpression expression)
          Visits the given ArithmeticExpression and attempts to find valid proposals.
protected
<T extends Expression>
void
visitCollectionExpression(T expression, java.lang.String identifier, AbstractContentAssistVisitor.CollectionExpressionHelper<T> helper)
          Adds the possible proposals for the given expression based on the location of the cursor and the content of the expression.
protected  void visitEndingExpression(Expression expression)
           
protected  void visitInvalidExpression(Expression expression)
           
protected  void visitLogicalExpression(LogicalExpression expression)
          Visits the given LogicalExpression and attempts to find valid proposals.
protected  void visitPathExpression(AbstractPathExpression expression)
          Visits the given AbstractPathExpression and attempts to find valid proposals.
protected  void visitPathExpression(AbstractPathExpression expression, Filter<IMapping> filter)
          Visits the given AbstractPathExpression by attempting to resolve the path.
protected  void visitSingleEncapsulatedExpression(AbstractSingleEncapsulatedExpression expression, AbstractContentAssistVisitor.IdentificationVariableType identificationVariableType)
          Adds the possible proposals for the given expression based on the location of the cursor and the content of the expression.
protected  void visitSingleEncapsulatedExpression(AbstractSingleEncapsulatedExpression expression, AbstractContentAssistVisitor.IdentificationVariableType identificationVariableType, java.lang.String... expressionIdentifiers)
          Adds the possible proposals for the given expression based on the location of the cursor and the content of the expression.
protected
<T extends Expression>
void
visitStatement(T expression, AbstractContentAssistVisitor.StatementHelper<T> helper)
          Visits the given AbstractSelectStatement and checks to see if the identifiers of the following clauses can be added a valid proposals.
protected  void visitThirdPartyPathExpression(AbstractPathExpression expression, java.lang.String variableName)
          Visits the given AbstractPathExpression and attempts to find valid proposals that is not provided by the default implementation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

compoundTypeFilters

protected java.util.Map<java.lang.String,AbstractContentAssistVisitor.CompoundTypeFilter> compoundTypeFilters
This map contains the filter that is used to determine when a compound identifier is a valid proposal, some of them depends on the expression's type.


corrections

protected java.util.Stack<java.lang.Integer> corrections
This is used to change the position of the cursor in order to add possible proposals


helpers

protected java.util.Map<java.lang.Class<?>,java.lang.Object> helpers
The cached helpers that are used by this visitor to add valid content assist proposals.


lockedExpressions

protected java.util.Stack<Expression> lockedExpressions
Used to prevent and infinite recursion when one of the visit method is virtually asking a child expression to be visited.


proposals

protected DefaultContentAssistProposals proposals
The set of possible proposals gathered based on the position in the query.


queryContext

protected final JPQLQueryContext queryContext
The context used to query information about the JPQL query.


queryPosition

protected QueryPosition queryPosition
Contains the position of the cursor within the parsed Expression from the root node up to the deepest leaf node.


virtualSpaces

protected java.util.Stack<java.lang.Integer> virtualSpaces
A virtual space is used to move the position of the cursor by adding an extra space in order to find some proposals within an expression. This is usually used when the trailing whitespace is not owned by the child expression but by one of its parents.


word

protected java.lang.String word
The current word, which was retrieved from the JPQL query based on the position of the cursor. The word is the partial string found to the left of the cursor and up to the cursor.


wordParser

protected WordParser wordParser
This is used to retrieve words from the actual JPQL query.


SPACE_LENGTH

protected static final int SPACE_LENGTH
A constant for the length of a whitespace, which is 1.

See Also:
Constant Field Values
Constructor Detail

AbstractContentAssistVisitor

protected AbstractContentAssistVisitor(JPQLQueryContext queryContext)
Creates a new AbstractContentAssistVisitor.

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

addAggregateIdentifier

protected void addAggregateIdentifier(java.lang.String identifier)
Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.AGGREGATE and the beginning starts with the current word.

Parameters:
identifier - The JPQL identifier to add as a valid proposal if it passes the checks

addAggregateIdentifiers

protected void addAggregateIdentifiers(JPQLQueryBNF queryBNF)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.AGGREGATE and the beginning starts with the current word.

Parameters:
queryBNF - The JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks

addAggregateIdentifiers

protected void addAggregateIdentifiers(java.lang.String queryBNFId)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.AGGREGATE and the beginning starts with the current word.

Parameters:
queryBNFId - The unique of the JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks

addArithmeticIdentifiers

protected void addArithmeticIdentifiers()
Adds the JPQL identifiers which correspond to the arithmetic operators as valid proposals. The word has to be an empty string.


addClauseIdentifier

protected void addClauseIdentifier(java.lang.String identifier)
Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.CLAUSE and the beginning starts with the current word.

Parameters:
identifier - The JPQL identifier to add as a valid proposal if it passes the checks

addClauseIdentifiers

protected void addClauseIdentifiers(JPQLQueryBNF queryBNF)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.CLAUSE and the beginning starts with the current word.

Parameters:
queryBNF - The JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks

addClauseIdentifiers

protected void addClauseIdentifiers(java.lang.String queryBNFId)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.CLAUSE and the beginning starts with the current word.

Parameters:
queryBNFId - The unique identifier of the JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks

addComparisonIdentifiers

protected void addComparisonIdentifiers()
Adds the JPQL identifiers which correspond to the comparison operators as valid proposals. The word has to be an empty string.


addCompositeIdentifier

protected void addCompositeIdentifier(java.lang.String identifier,
                                      int offset)
Adds the composite JPQL identifier by following the given rules:

Parameters:
identifier - The composite JPQL identifier to add as valid proposal. The composite part means it is an identifier composed of more than one word, example: GROUP BY
offset - The smallest length of the given identifier to test against the ending of the JPQL query based on the position of the cursor. The offset is exclusive

addCompoundIdentifier

protected void addCompoundIdentifier(java.lang.String identifier,
                                     Expression expression,
                                     boolean hasIs,
                                     boolean hasNot)
Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.COMPOUND_FUNCTION and the beginning starts with the current word.

Parameters:
identifier - The JPQL identifier to add as a valid proposal if it passes the checks
expression - The Expression represents the fragment that is before the current word and it helps to filter out some of the compound identifiers
hasIs - Flag indicating if the IS identifier was found before the word, which would also be before the NOT identifier if it was also found
hasNot - Flag indicating if the NOT identifier was found before the word

addCompoundIdentifiers

protected void addCompoundIdentifiers(JPQLQueryBNF queryBNF,
                                      Expression expression,
                                      boolean hasIs,
                                      boolean hasNot)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.COMPOUND_FUNCTION and the beginning starts with the current word.

Parameters:
queryBNF - The JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks
expression - The Expression represents the fragment that is before the current word and it helps to filter out some of the compound identifiers
hasIs - Flag indicating if the IS identifier was found before the word, which would also be before the NOT identifier if it was also found
hasNot - Flag indicating if the NOT identifier was found before the word

addCompoundIdentifiers

protected void addCompoundIdentifiers(java.lang.String queryBNFId,
                                      Expression expression,
                                      boolean hasIs,
                                      boolean hasNot)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.COMPOUND_FUNCTION and the beginning starts with the current word.

Parameters:
queryBNFId - The unique identifier of the JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks
expression - The Expression represents the fragment that is before the current word and it helps to filter out some of the compound identifiers
hasIs - Flag indicating if the IS identifier was found before the word, which would also be before the NOT identifier if it was also found
hasNot - Flag indicating if the NOT identifier was found before the word

addEntities

protected void addEntities()
Adds the entities as possible content assist proposals but will be filtered using the current word.


addEntities

protected void addEntities(IType type)
Adds the entities as possible content assist proposals but will be filtered using the current word and the entity's type will have to be assignable from the given IType.

Parameters:
type - The IType used to filter the abstract schema types

addExpressionFactoryIdentifiers

protected void addExpressionFactoryIdentifiers(ExpressionFactory expressionFactory)
Adds the JPQL identifiers that were registered with the given ExpressionFactory.

Parameters:
expressionFactory - The factory for which its registered JPQL identifiers are added as valid proposals, if they meet the checks

addExpressionFactoryIdentifiers

protected void addExpressionFactoryIdentifiers(java.lang.String expressionFactoryId)
Adds the JPQL identifiers that were registered with the ExpressionFactory with the given unique identifier.

Parameters:
expressionFactoryId - The unique identifier of the factory for which its registered JPQL identifiers are added as valid proposals, if they meet the checks

addFunctionIdentifier

protected void addFunctionIdentifier(java.lang.String identifier)
Adds the given JPQL identifier as a valid proposal if its role is IdentifierRole.FUNCTION and the beginning starts with the current word.

Parameters:
identifier - The JPQL identifier to add as a valid proposal if it passes the checks

addFunctionIdentifiers

protected void addFunctionIdentifiers(Expression expression)
Adds the JPQL identifiers for which their role is FUNCTION by determining the JPQLQueryBNF that represents the fragment for which the given Expression was parsed.

For instance: "SELECT e, AVG(e.name) FROM Employee e" and the given expression is "AVG(e.name)", then the BNF should be the select item BNF.

If the BNF allows for a subquery and the expression is encapsulated by parenthesis, then SELECT will also be added.

The identification variables will also be added.

Parameters:
expression - The Expression is used to determine the JPQLQueryBNF to use when retrieving the JPQL identifiers representing a function

addFunctionIdentifiers

protected void addFunctionIdentifiers(JPQLQueryBNF queryBNF)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.FUNCTION and the beginning starts with the current word.

Parameters:
queryBNF - The JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks

addFunctionIdentifiers

protected void addFunctionIdentifiers(java.lang.String queryBNFId)
Adds the JPQL identifiers that are registered with the given JPQLQueryBNF as valid proposals if their role is IdentifierRole.FUNCTION and the beginning starts with the current word.

Parameters:
queryBNFId - The unique identifier of the JPQLQueryBNF for which the registered JPQL identifiers will be added as proposals if they pass the checks

addIdentificationVariable

protected void addIdentificationVariable(java.lang.String identificationVariable)
Adds the given identification variable as a valid proposal.

Parameters:
identificationVariable - The identification variable to add as a proposal if it passes the checks

addIdentificationVariables

protected void addIdentificationVariables()
Adds all the identification variables defined in the current query's FROM clause.


addIdentificationVariables

protected void addIdentificationVariables(Expression expression,
                                          AbstractContentAssistVisitor.IdentificationVariableType type)
Adds the possible identification variables as valid proposals but filter them based on the given type.

For instance, if the type is AbstractContentAssistVisitor.IdentificationVariableType.LEFT, then any identification variables that have been defined before the given Expression are valid proposals, but those defined after are not valid proposals.

Parameters:
expression - The Expression where the content assist was invoked, which helps to determine how to stop adding identification variables
type - Which type of identification variables to add as valid proposals

addIdentifier

protected void addIdentifier(java.lang.String identifier)
Adds the given identifier as a proposal if it passes the checks.

Parameters:
identifier - The JPQL identifier to add as a proposal

addJoinIdentifiers

protected void addJoinIdentifiers()
Adds the join specification identifiers as proposals.


addLeftIdentificationVariables

protected void addLeftIdentificationVariables(Expression expression)
Adds the identification variables defined in the current query's FROM clause that are declared before the given Expression.

Parameters:
expression - The Expression used to determine at which declaration to stop

addLogicalIdentifiers

protected void addLogicalIdentifiers()
Adds the logical identifiers, which are AND and OR.


addRangeIdentificationVariable

protected void addRangeIdentificationVariable(java.lang.String identificationVariable)
Adds the given identification variable as a proposal if it passes the checks. If an entity is found, then it will be registered.

Parameters:
identificationVariable - An identification variable that is

addResultVariables

protected void addResultVariables()
Adds the result variables defined in the SELECT clause as valid proposals.


addVirtualSpace

protected final void addVirtualSpace()
Adds a virtual space on the stack.


areArithmeticSymbolsAppendable

protected boolean areArithmeticSymbolsAppendable(Expression expression)
Determines whether the given Expression can be followed by an arithmetic operator.

Parameters:
expression - The Expression that found left of the cursor, which determines if the arithmetic operators are appendable or not
Returns:
true if the operators are appendable; false otherwise

areComparisonSymbolsAppendable

protected boolean areComparisonSymbolsAppendable(Expression expression)
Determines whether the given Expression can be followed by a comparison operator.

Parameters:
expression - The Expression that found left of the cursor, which determines if the comparison operators are appendable or not
Returns:
true if the operators are appendable; false otherwise

areLogicalSymbolsAppendable

protected boolean areLogicalSymbolsAppendable(Expression expression)
Determines whether the given Expression can be followed by a logical operator.

Parameters:
expression - The Expression that found left of the cursor, which determines if the logical operators are appendable or not
Returns:
true if the logical identifiers are appendable; false otherwise

buildAbstractConditionalClauseCollectionHelper

protected AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper buildAbstractConditionalClauseCollectionHelper()

buildAcceptableTypeVisitor

protected abstract AbstractContentAssistVisitor.AcceptableTypeVisitor buildAcceptableTypeVisitor()

buildAppendableExpressionVisitor

protected AbstractContentAssistVisitor.AppendableExpressionVisitor buildAppendableExpressionVisitor()

buildCollectionExpressionVisitor

protected AbstractContentAssistVisitor.CollectionExpressionVisitor buildCollectionExpressionVisitor()

buildCollectionMappingFilter

protected AbstractContentAssistVisitor.CollectionMappingFilter buildCollectionMappingFilter()

buildCompoundExpressionHelper

protected AbstractContentAssistVisitor.CompoundExpressionHelper buildCompoundExpressionHelper()

buildConcatExpressionCollectionHelper

protected AbstractContentAssistVisitor.ConcatExpressionCollectionHelper buildConcatExpressionCollectionHelper()

buildConstrutorCollectionHelper

protected AbstractContentAssistVisitor.ConstrutorCollectionHelper buildConstrutorCollectionHelper()

buildDeclarationVisitor

protected AbstractContentAssistVisitor.DeclarationVisitor buildDeclarationVisitor()

buildDefaultMappingCollector

protected AbstractContentAssistVisitor.DefaultMappingCollector buildDefaultMappingCollector()

buildDeleteClauseCollectionHelper

protected AbstractContentAssistVisitor.DeleteClauseCollectionHelper buildDeleteClauseCollectionHelper()

buildDeleteClauseStatementHelper

protected AbstractContentAssistVisitor.DeleteClauseStatementHelper buildDeleteClauseStatementHelper()

buildDoubleEncapsulatedCollectionHelper

protected AbstractContentAssistVisitor.DoubleEncapsulatedCollectionHelper buildDoubleEncapsulatedCollectionHelper()

buildEmptyCompoundTypeFilter

protected AbstractContentAssistVisitor.CompoundTypeFilter buildEmptyCompoundTypeFilter()

buildEncapsulatedExpressionVisitor

protected AbstractContentAssistVisitor.EncapsulatedExpressionVisitor buildEncapsulatedExpressionVisitor()

buildEndingPositionFromInvalidExpression

protected QueryPosition buildEndingPositionFromInvalidExpression(Expression invalidExpression,
                                                                 Expression startingPointExpression,
                                                                 boolean[] virtualSpace)
Creates a new QueryPosition containing the corrected positions starting at the given Expression and traversing the children at is always at the right side of the tree.

Parameters:
invalidExpression - The invalid Expression for which a new QueryPosition will be calculated
startingPointExpression - The Expression from which the calculation of the positions will start
virtualSpace - Single element array that will be used to store the flag indicating if a virtual space should be added or not
Returns:
The new QueryPosition that contains the position of the cursor starting from the given Expression down to the right leaf

buildEndingQueryPositionBuilder

protected AbstractContentAssistVisitor.EndingQueryPositionBuilder buildEndingQueryPositionBuilder()

buildEnumVisitor

protected AbstractContentAssistVisitor.EnumVisitor buildEnumVisitor()

buildFilteringMappingCollector

protected AbstractContentAssistVisitor.FilteringMappingCollector buildFilteringMappingCollector(AbstractPathExpression expression,
                                                                                                Resolver resolver,
                                                                                                Filter<IMapping> filter,
                                                                                                java.lang.String pattern)

buildFollowingClausesVisitor

protected AbstractContentAssistVisitor.FollowingClausesVisitor buildFollowingClausesVisitor()

buildFollowingInvalidExpressionVisitor

protected AbstractContentAssistVisitor.FollowingInvalidExpressionVisitor buildFollowingInvalidExpressionVisitor()

buildFromClauseCollectionHelper

protected AbstractContentAssistVisitor.FromClauseCollectionHelper buildFromClauseCollectionHelper()

buildFromClauseStatementHelper

protected AbstractContentAssistVisitor.FromClauseStatementHelper buildFromClauseStatementHelper()

buildGroupByClauseCollectionHelper

protected AbstractContentAssistVisitor.GroupByClauseCollectionHelper buildGroupByClauseCollectionHelper()

buildGroupByClauseStatementHelper

protected AbstractContentAssistVisitor.GroupByClauseStatementHelper buildGroupByClauseStatementHelper()

buildHavingClauseStatementHelper

protected AbstractContentAssistVisitor.HavingClauseStatementHelper buildHavingClauseStatementHelper()

buildIncompleteCollectionExpressionVisitor

protected AbstractContentAssistVisitor.IncompleteCollectionExpressionVisitor buildIncompleteCollectionExpressionVisitor()

buildInvalidExpressionVisitor

protected AbstractContentAssistVisitor.InvalidExpressionVisitor buildInvalidExpressionVisitor()

buildJoinCollectionHelper

protected AbstractContentAssistVisitor.JoinCollectionHelper buildJoinCollectionHelper()

buildJPQLQueryBNFValidator

protected AbstractValidator.JPQLQueryBNFValidator buildJPQLQueryBNFValidator(JPQLQueryBNF queryBNF)
Returns the AbstractValidator.JPQLQueryBNFValidator that can be used to validate an Expression by making sure its BNF is part of the given BNF.

Parameters:
queryBNF - The BNF used to determine the validity of an Expression
Returns:
A AbstractValidator.JPQLQueryBNFValidator that can determine if an Expression follows the given BNF

buildMappingCollector

protected AbstractContentAssistVisitor.MappingCollector buildMappingCollector(AbstractPathExpression expression,
                                                                              Resolver resolver,
                                                                              Filter<IMapping> filter)

buildMappingFilter

protected Filter<IMapping> buildMappingFilter(AbstractPathExpression expression,
                                              Filter<IMapping> filter)

buildMappingFilter

protected Filter<IMapping> buildMappingFilter(Expression expression)

buildMappingFilterBuilder

protected AbstractContentAssistVisitor.MappingFilterBuilder buildMappingFilterBuilder()

buildNotExpressionVisitor

protected AbstractContentAssistVisitor.NotExpressionVisitor buildNotExpressionVisitor()

buildOrderByClauseCollectionHelper

protected AbstractContentAssistVisitor.OrderByClauseCollectionHelper buildOrderByClauseCollectionHelper()

buildOrderByClauseStatementHelper

protected AbstractContentAssistVisitor.OrderByClauseStatementHelper buildOrderByClauseStatementHelper()

buildPropertyMappingFilter

protected AbstractContentAssistVisitor.PropertyMappingFilter buildPropertyMappingFilter()

buildProposals

public ContentAssistProposals buildProposals(int position)
Prepares this visitor by prepopulating it with the necessary data that is required to properly gather the list of proposals based on the given caret position.

Parameters:
position - The position of the cursor within the JPQL query
Returns:
The proposals that are valid choices for the given position

buildRangeVariableDeclarationVisitor

protected AbstractContentAssistVisitor.RangeVariableDeclarationVisitor buildRangeVariableDeclarationVisitor()

buildResultVariableVisitor

protected AbstractContentAssistVisitor.ResultVariableVisitor buildResultVariableVisitor()

buildSelectClauseCollectionHelper

protected AbstractContentAssistVisitor.SelectClauseCollectionHelper buildSelectClauseCollectionHelper()

buildSelectClauseStatementHelper

protected AbstractContentAssistVisitor.SelectClauseStatementHelper buildSelectClauseStatementHelper()

buildSimpleFromClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleFromClauseStatementHelper buildSimpleFromClauseStatementHelper()

buildSimpleGroupByClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleGroupByClauseStatementHelper buildSimpleGroupByClauseStatementHelper()

buildSimpleHavingClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleHavingClauseStatementHelper buildSimpleHavingClauseStatementHelper()

buildSimpleSelectClauseCollectionHelper

protected AbstractContentAssistVisitor.SimpleSelectClauseCollectionHelper buildSimpleSelectClauseCollectionHelper()

buildSimpleSelectClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleSelectClauseStatementHelper buildSimpleSelectClauseStatementHelper()

buildSimpleWhereClauseSelectStatementHelper

protected AbstractContentAssistVisitor.SimpleWhereClauseSelectStatementHelper buildSimpleWhereClauseSelectStatementHelper()

buildSubqueryAppendableExpressionVisitor

protected AbstractContentAssistVisitor.SubqueryAppendableExpressionVisitor buildSubqueryAppendableExpressionVisitor()

buildSubqueryVisitor

protected AbstractContentAssistVisitor.SubqueryVisitor buildSubqueryVisitor()

buildTrailingCompletenessVisitor

protected AbstractContentAssistVisitor.TrailingCompletenessVisitor buildTrailingCompletenessVisitor()

buildTripleEncapsulatedCollectionHelper

protected AbstractContentAssistVisitor.TripleEncapsulatedCollectionHelper buildTripleEncapsulatedCollectionHelper()

buildUpdateClauseStatementHelper

protected AbstractContentAssistVisitor.UpdateClauseStatementHelper buildUpdateClauseStatementHelper()

buildUpdateItemCollectionHelper

protected AbstractContentAssistVisitor.UpdateItemCollectionHelper buildUpdateItemCollectionHelper()

buildVisitParentVisitor

protected AbstractContentAssistVisitor.VisitParentVisitor buildVisitParentVisitor()

buildWhereClauseDeleteStatementHelper

protected AbstractContentAssistVisitor.WhereClauseDeleteStatementHelper buildWhereClauseDeleteStatementHelper()

buildWhereClauseSelectStatementHelper

protected AbstractContentAssistVisitor.WhereClauseSelectStatementHelper buildWhereClauseSelectStatementHelper()

buildWhereClauseUpdateStatementHelper

protected AbstractContentAssistVisitor.WhereClauseUpdateStatementHelper buildWhereClauseUpdateStatementHelper()

buildWithinInvalidExpressionVisitor

protected AbstractContentAssistVisitor.WithinInvalidExpressionVisitor buildWithinInvalidExpressionVisitor()

dispose

public void dispose()
Disposes of the internal data.


findRangeVariableDeclaration

protected RangeVariableDeclaration findRangeVariableDeclaration(UpdateClause expression)
Retrieves the RangeVariableDeclaration that defines the entity name and identification variable for the given UpdateClause.

Returns:
Either the RangeVariableDeclaration if the JPQL query defines it or null if it was not defined

getAbstractConditionalClauseCollectionHelper

protected AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper getAbstractConditionalClauseCollectionHelper()

getAcceptableType

protected IType getAcceptableType(Expression expression)
Determines the root IType that any type should be assignable. If the IType is Number, than any subclasses will be allowed.

Parameters:
expression - The Expression to visit, including its parent hierarchy until an Expression requires a certain IType
Returns:
The root IType allowed or null if anything is allowed

getAppendableExpressionVisitor

protected AbstractContentAssistVisitor.AppendableExpressionVisitor getAppendableExpressionVisitor()

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

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

getCompoundExpressionHelper

protected AbstractContentAssistVisitor.CompoundExpressionHelper getCompoundExpressionHelper()

getConcatExpressionCollectionHelper

protected AbstractContentAssistVisitor.ConcatExpressionCollectionHelper getConcatExpressionCollectionHelper()

getConstructorCollectionHelper

protected AbstractContentAssistVisitor.ConstrutorCollectionHelper getConstructorCollectionHelper()

getCoumpoundTypeFilter

protected AbstractContentAssistVisitor.CompoundTypeFilter getCoumpoundTypeFilter(java.lang.String identifier)

getDeclarationVisitor

protected AbstractContentAssistVisitor.DeclarationVisitor getDeclarationVisitor()

getDefaultMappingCollector

protected AbstractContentAssistVisitor.MappingCollector getDefaultMappingCollector()

getDeleteClauseCollectionHelper

protected AbstractContentAssistVisitor.DeleteClauseCollectionHelper getDeleteClauseCollectionHelper()

getDeleteClauseStatementHelper

protected AbstractContentAssistVisitor.DeleteClauseStatementHelper getDeleteClauseStatementHelper()

getDoubleEncapsulatedCollectionHelper

protected AbstractContentAssistVisitor.DoubleEncapsulatedCollectionHelper getDoubleEncapsulatedCollectionHelper()

getEncapsulatedExpressionVisitor

protected AbstractContentAssistVisitor.EncapsulatedExpressionVisitor getEncapsulatedExpressionVisitor()

getEndingQueryPositionBuilder

protected AbstractContentAssistVisitor.EndingQueryPositionBuilder getEndingQueryPositionBuilder()

getEnumVisitor

protected AbstractContentAssistVisitor.EnumVisitor getEnumVisitor()

getExpressionTypeVisitor

protected AbstractContentAssistVisitor.AcceptableTypeVisitor getExpressionTypeVisitor()

getFollowingClausesVisitor

protected AbstractContentAssistVisitor.FollowingClausesVisitor getFollowingClausesVisitor()

getFollowingInvalidExpressionVisitor

protected AbstractContentAssistVisitor.FollowingInvalidExpressionVisitor getFollowingInvalidExpressionVisitor()

getFromClauseCollectionHelper

protected AbstractContentAssistVisitor.FromClauseCollectionHelper getFromClauseCollectionHelper()

getFromClauseStatementHelper

protected AbstractContentAssistVisitor.FromClauseStatementHelper getFromClauseStatementHelper()

getGroupByClauseCollectionHelper

protected AbstractContentAssistVisitor.GroupByClauseCollectionHelper getGroupByClauseCollectionHelper()

getGroupByClauseStatementHelper

protected AbstractContentAssistVisitor.GroupByClauseStatementHelper getGroupByClauseStatementHelper()

getHavingClauseStatementHelper

protected AbstractContentAssistVisitor.HavingClauseStatementHelper getHavingClauseStatementHelper()

getHelper

protected final <T> T getHelper(java.lang.Class<T> helperClass)
Retrieves the helper associated with the given helper class.

Parameters:
helperClass - The Java class of the helper to retrieve
Returns:
The helper being requested

getIdentifierRole

protected IdentifierRole getIdentifierRole(java.lang.String identifier)
Retrieves the role of the given identifier. A role helps to describe the purpose of the identifier in a query.

Parameters:
identifier - The identifier for which its role is requested
Returns:
The role of the given identifier

getIncompleteCollectionExpressionVisitor

protected AbstractContentAssistVisitor.CompletenessVisitor getIncompleteCollectionExpressionVisitor()

getInvalidExpressionVisitor

protected AbstractContentAssistVisitor.InvalidExpressionVisitor getInvalidExpressionVisitor()

getJoinCollectionHelper

protected AbstractContentAssistVisitor.JoinCollectionHelper getJoinCollectionHelper()

getMappingCollectionFilter

protected Filter<IMapping> getMappingCollectionFilter()

getMappingFilterBuilder

protected AbstractContentAssistVisitor.MappingFilterBuilder getMappingFilterBuilder()

getMappingPropertyFilter

protected Filter<IMapping> getMappingPropertyFilter()

getNotExpressionVisitor

protected AbstractContentAssistVisitor.NotExpressionVisitor getNotExpressionVisitor()

getOrderByClauseCollectionHelper

protected AbstractContentAssistVisitor.OrderByClauseCollectionHelper getOrderByClauseCollectionHelper()

getOrderByClauseStatementHelper

protected AbstractContentAssistVisitor.OrderByClauseStatementHelper getOrderByClauseStatementHelper()

getQueryBNF

protected JPQLQueryBNF getQueryBNF(java.lang.String queryBNFId)
Retrieves the JPQLQueryBNF that was registered for the given unique identifier.

Parameters:
queryBNFId - The unique identifier of the JPQLQueryBNF to retrieve
Returns:
The JPQLQueryBNF representing a section of the grammar

getRangeVariableDeclarationVisitor

protected AbstractContentAssistVisitor.RangeVariableDeclarationVisitor getRangeVariableDeclarationVisitor()

getResultVariableVisitor

protected AbstractContentAssistVisitor.ResultVariableVisitor getResultVariableVisitor()

getSelectClauseCollectionHelper

protected AbstractContentAssistVisitor.SelectClauseCollectionHelper getSelectClauseCollectionHelper()

getSelectClauseStatementHelper

protected AbstractContentAssistVisitor.SelectClauseStatementHelper getSelectClauseStatementHelper()

getSimpleFromClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleFromClauseStatementHelper getSimpleFromClauseStatementHelper()

getSimpleGroupByClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleGroupByClauseStatementHelper getSimpleGroupByClauseStatementHelper()

getSimpleHavingClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleHavingClauseStatementHelper getSimpleHavingClauseStatementHelper()

getSimpleSelectClauseCollectionHelper

protected AbstractContentAssistVisitor.SimpleSelectClauseCollectionHelper getSimpleSelectClauseCollectionHelper()

getSimpleSelectClauseStatementHelper

protected AbstractContentAssistVisitor.SimpleSelectClauseStatementHelper getSimpleSelectClauseStatementHelper()

getSimpleWhereClauseSelectStatementHelper

protected AbstractContentAssistVisitor.SimpleWhereClauseSelectStatementHelper getSimpleWhereClauseSelectStatementHelper()

getSubqueryAppendableExpressionVisitor

protected AbstractContentAssistVisitor.SubqueryAppendableExpressionVisitor getSubqueryAppendableExpressionVisitor()

getSubqueryVisitor

protected AbstractContentAssistVisitor.SubqueryVisitor getSubqueryVisitor()

getTrailingCompletenessVisitor

protected AbstractContentAssistVisitor.TrailingCompletenessVisitor getTrailingCompletenessVisitor()

getTripleEncapsulatedCollectionHelper

protected AbstractContentAssistVisitor.TripleEncapsulatedCollectionHelper getTripleEncapsulatedCollectionHelper()

getUpdateClauseStatementHelper

protected AbstractContentAssistVisitor.UpdateClauseStatementHelper getUpdateClauseStatementHelper()

getUpdateItemCollectionHelper

protected AbstractContentAssistVisitor.UpdateItemCollectionHelper getUpdateItemCollectionHelper()

getVisitParentVisitor

protected AbstractContentAssistVisitor.VisitParentVisitor getVisitParentVisitor()

getWhereClauseDeleteStatementHelper

protected AbstractContentAssistVisitor.WhereClauseDeleteStatementHelper getWhereClauseDeleteStatementHelper()

getWhereClauseSelectStatementHelper

protected AbstractContentAssistVisitor.WhereClauseSelectStatementHelper getWhereClauseSelectStatementHelper()

getWhereClauseUpdateStatementHelper

protected AbstractContentAssistVisitor.WhereClauseUpdateStatementHelper getWhereClauseUpdateStatementHelper()

getWithinInvalidExpressionVisitor

protected AbstractContentAssistVisitor.WithinInvalidExpressionVisitor getWithinInvalidExpressionVisitor()

hasClausesDefinedBetween

protected boolean hasClausesDefinedBetween(Expression expression,
                                           java.lang.String afterIdentifier,
                                           java.lang.String beforeIdentifier)

hasVirtualSpace

protected final boolean hasVirtualSpace()
Determines whether there is a virtual space to be considered or not.

Returns:
true if there is a virtual space to count as a real one or not

initialize

protected void initialize()
Initializes this visitor.


isAggregate

protected boolean isAggregate(java.lang.String identifier)
Determines whether the given JPQL identifier used in an aggregate expression; for instance AND.

Parameters:
identifier - The identifier to validate
Returns:
true if the given identifier is used in an aggregate expression; false otherwise

isAppendable

protected boolean isAppendable(Expression expression,
                               AbstractContentAssistVisitor.AppendableType appendableType)
Determines whether a certain type of JPQL identifiers can be appended to the JPQL query based on the given Expression.

Parameters:
expression - The Expression that determines what can be appended
appendableType - The type of identifiers to append to the JPQL query
Returns:
true if the JPQL identifiers with the given type can be appended to the JPQL query; false if they cannot

isAppendableToCollection

protected boolean isAppendableToCollection(Expression expression)
Determines whether

Parameters:
expression -
Returns:

isClause

protected boolean isClause(java.lang.String identifier)
Determines whether the given JPQL identifier used in a clause; for instance SELECT.

Parameters:
identifier - The identifier to validate
Returns:
true if the given identifier is a clause; false otherwise

isClauseAppendable

protected boolean isClauseAppendable(Expression expression)
Determines whether the identifiers identifying clauses can be appended to the JPQL query based on the given Expression.

Parameters:
expression - The Expression that determines what can be appended
Returns:
true if the following clauses can be appended to the JPQL query; false if they cannot

isComplete

protected boolean isComplete(Expression expression)
Determines whether the given Expression is complete or not. To be complete, it has to be well formed grammatically.

"SELECT e FROM Employee e WHERE e.name = 'JPQL" is complete.
"SELECT e FROM Employee e WHERE AVG(e.age" is incomplete.

Parameters:
expression - The Expression to visit
Returns:
true if the Expression is well formed grammatically; false if it's incomplete

isCompoundable

protected boolean isCompoundable(Expression expression)
Determines whether the given Expression can be used as the left side of a compound expression.

Parameters:
expression - The Expression that determines if the JPQL identifiers with IdentifierRole.COMPOUND_FUNCTION can be used to create a compound expression
Returns:
true if the compound identifiers can be appended to the JPQL query; false if they cannot

isCompoundFunction

protected boolean isCompoundFunction(java.lang.String identifier)
Determines whether the given JPQL identifier used in a compound expression; an example would be BETWEEN or MEMBER.

Parameters:
identifier - The identifier to validate
Returns:
true if the given identifier is used in a compound expression; false otherwise

isDeclaration

protected boolean isDeclaration(AbstractPathExpression expression)
Determines whether the given AbstractPathExpression is found within a declaration expression.

Parameters:
expression - The AbstractPathExpression to visit
Returns:
true if the visited CollectionValuedPathExpression is owned by a RangeVariableDeclaration, which indicates it is used to define the "root" object; false if it is not

isEncapsulated

protected boolean isEncapsulated(Expression expression)
Determines whether the given Expression is being encapsulated or not.

Parameters:
expression - The Expression to scan for encapsulation
Returns:
true if the given Expression is within parenthesis; false otherwise

isEnumAllowed

protected boolean isEnumAllowed(AbstractPathExpression expression)
Determines whether the given AbstractPathExpression could potentially represent a fully qualified enum constant, which is dictated by the location of the path expression within the query. Only a few location allows an enum constant.

Parameters:
expression - The AbstractPathExpression to visit
Returns:
true if the path expression represents a enum constant; false otherwise

isFollowingInvalidExpression

protected boolean isFollowingInvalidExpression(Expression expression)
Determines whether the given Expression is preceded by an invalid expression.

Parameters:
expression - The Expression to visit
Returns:
true if the visited Expression is part of a collection of expressions and an invalid expression precede it; false otherwise

isFunction

protected boolean isFunction(java.lang.String identifier)
Determines whether the given JPQL identifier is a function, an example would be AVG.

Parameters:
identifier - The identifier to validate
Returns:
true if the given identifier is a function; false otherwise

isInSubquery

protected boolean isInSubquery(Expression expression)
Determines whether the given Expression is in a subquery or in the top-level query.

Parameters:
expression - The Expression to visit its parent hierarchy
Returns:
true if the owning query is a subquery; false if it's the top-level query

isInvalidExpression

protected boolean isInvalidExpression(Expression expression)
Determines whether the given Expression represents an invalid fragment.

Parameters:
expression - The Expression to visit
Returns:
true if the Expression is an invalid fragment; false otherwise

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

isLocked

protected boolean isLocked(Expression expression)
Determines whether the given Expression has been set has the lock to prevent an infinite recursion.

Parameters:
expression - The Expression to check if it is locked
Returns:
true if the given Expression has been marked as locked; false otherwise

isNotExpression

protected boolean isNotExpression(Expression expression)
Determines whether the given Expression represents the negated expression.

Parameters:
expression - The Expression to visit
Returns:
true if the Expression is NotExpression; false otherwise

isPositionWithin

protected boolean isPositionWithin(int position,
                                   int offset,
                                   java.lang.String word)
Determines whether the given position is within the given word.

Example: position=0, word="JPQL" => true Example: position=1, word="JPQL" => true Example: position=4, word="JPQL" => true Example: position=5, word="JPQL" => true Example: position=5, offset 2, (actual cursor position is 3), word="JPQL" => true

Parameters:
position - The position of the cursor
offset - The offset to adjust the position
word - The word to check if the cursor is positioned in it
Returns:
true if the given position is within the given word; false otherwise

isPositionWithin

protected boolean isPositionWithin(int position,
                                   java.lang.String word)
Determines whether the given position is within the given word.

Example: position=0, word="JPQL" => true Example: position=1, word="JPQL" => true Example: position=4, word="JPQL" => true Example: position=5, word="JPQL" => true

Parameters:
position - The position of the cursor
word - The word to check if the cursor is positioned in it
Returns:
true if the given position is within the given word; false otherwise

isSubqueryAppendable

protected boolean isSubqueryAppendable(Expression expression)
Determines whether the JPQL identifier starting a subquery (SELECT) can be appended based on the given Expression which is preceding the position of the cursor.

Parameters:
expression - The Expression that precedes the position of the cursor
Returns:
true if a subquery can be appended; false otherwise

isValid

protected boolean isValid(Expression expression,
                          JPQLQueryBNF queryBNF)
Determines whether the given Expression part is an expression of the given query BNF.

Parameters:
expression - The Expression to validate based on the query BNF
queryBNF -
Returns:
true if the Expression part is a child of the given query BNF; false otherwise

isValid

protected boolean isValid(Expression expression,
                          java.lang.String queryBNFId)
Determines whether the given Expression part is an expression of the given query BNF.

Parameters:
expression - The Expression to validate based on the query BNF
queryBNFId -
Returns:
true if the Expression part is a child of the given query BNF; false otherwise

isValid

protected boolean isValid(JPQLQueryBNF parentQueryBNF,
                          JPQLQueryBNF queryBNF)
Determines whether the given JPQLQueryBNF part is the given parent JPQLQueryBNF.

Parameters:
parentQueryBNF - The "root" of the BNF used to determine if the other is a descendant
queryBNF - The BNF to check if it is a descendant of the parent
Returns:
true if the JPQLQueryBNF is a descendant of the given parent JPQLQueryBNF; false otherwise

isValid

protected boolean isValid(JPQLQueryBNF parentQueryBNF,
                          JPQLQueryBNF queryBNF,
                          boolean bypassCompound)
Determines whether the given JPQLQueryBNF part is the given parent JPQLQueryBNF.

Parameters:
parentQueryBNF - The "root" of the BNF used to determine if the other is a descendant
queryBNF - The BNF to check if it is a descendant of the parent
bypassCompound - Indicates whether a JPQLQueryBNF representing a compound expression should be considered when doing the validation
Returns:
true if the JPQLQueryBNF is a descendant of the given parent JPQLQueryBNF; false otherwise

isValid

protected boolean isValid(JPQLQueryBNF parentQueryBNF,
                          java.lang.String queryBNFId,
                          boolean bypassCompound)
Determines whether the given JPQLQueryBNF part is the given parent JPQLQueryBNF.

Parameters:
parentQueryBNF - The "root" of the BNF used to determine if the other is a descendant
queryBNFId - The unique identifier of the JPQLQueryBNF to check if it is a descendant of the parent
bypassCompound - Indicates whether a JPQLQueryBNF representing a compound expression should be considered when doing the validation
Returns:
true if the JPQLQueryBNF is a descendant of the given parent JPQLQueryBNF; false otherwise

isValidProposal

protected boolean isValidProposal(java.lang.String proposal,
                                  java.lang.String word)
Determines whether the given proposal is a valid, which is based on the content of the given word. If the word is not an empty string, the proposal must start with the content of the word.

Parameters:
proposal - The proposal to validate
word - The word, which is what was parsed before the position of the cursor
Returns:
true if the proposal is valid; false otherwise

isValidVersion

protected boolean isValidVersion(java.lang.String identifier)
Determines whether the given JPQL identifier can be a valid proposal, i.e. if it's part of the grammar of the JPA version that was used to parse the JPQL query.

Parameters:
identifier - The JPQL identifier to validate
Returns:
true if the given identifier is part of the current JPA version or was defined in previous release; false otherwise

isWithinInvalidExpression

protected boolean isWithinInvalidExpression(Expression expression)
Determines whether the given Expression is part of an invalid fragment

Parameters:
expression - The Expression to verify its location within the JPQL query
Returns:
true if the given Expression is within an invalid fragment; false if it is not

registerHelper

protected final <T> void registerHelper(java.lang.Class<T> helperClass,
                                        T helper)
Registers the given helper associated with the given helper class.

Parameters:
helperClass - The Java class of the helper to retrieve
helper - The helper being registered
See Also:
getHelper(Class)

removeVirtualSpace

protected final void removeVirtualSpace()
Removes the last virtual space from the stack.


toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object

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

protected void visit(Expression expression)
Blindly visit the given Expression.

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

visitAggregateFunction

protected void visitAggregateFunction(AggregateFunction expression)
Visits the given AggregateFunction and attempts to find valid proposals.

Parameters:
expression - The AggregateFunction to inspect

visitArithmeticExpression

protected void visitArithmeticExpression(ArithmeticExpression expression)
Visits the given ArithmeticExpression and attempts to find valid proposals.

Parameters:
expression - The ArithmeticExpression to inspect

visitCollectionExpression

protected <T extends Expression> void visitCollectionExpression(T expression,
                                                                java.lang.String identifier,
                                                                AbstractContentAssistVisitor.CollectionExpressionHelper<T> helper)
Adds the possible proposals for the given expression based on the location of the cursor and the content of the expression.

Parameters:
expression - The expression being visited
identifier - The JPQL identifier of the Expression being visited, if the Expression does not have an identifier, than an empty string should be passed
helper - This helper completes the behavior of this method by retrieving the information from the given Expression

visitEndingExpression

protected void visitEndingExpression(Expression expression)

visitInvalidExpression

protected void visitInvalidExpression(Expression expression)

visitLogicalExpression

protected void visitLogicalExpression(LogicalExpression expression)
Visits the given LogicalExpression and attempts to find valid proposals.

Parameters:
expression - The LogicalExpression to inspect

visitPathExpression

protected void visitPathExpression(AbstractPathExpression expression)
Visits the given AbstractPathExpression and attempts to find valid proposals.

Note: A path expression can represent many things: state field, relationship field, collection field, enum constant, etc. This will consider all variations.

Parameters:
expression - The AbstractPathExpression to inspect

visitPathExpression

protected void visitPathExpression(AbstractPathExpression expression,
                                   Filter<IMapping> filter)
Visits the given AbstractPathExpression by attempting to resolve the path.

Parameters:
expression - The AbstractPathExpression to inspect
filter - The Filter is used to filter out IMapping that are not valid based on their type and the type that is allowed

visitSingleEncapsulatedExpression

protected void visitSingleEncapsulatedExpression(AbstractSingleEncapsulatedExpression expression,
                                                 AbstractContentAssistVisitor.IdentificationVariableType identificationVariableType)
Adds the possible proposals for the given expression based on the location of the cursor and the content of the expression.

Parameters:
expression - The expression being visited
identificationVariableType - The type of identification variables that can be added as possible proposals

visitSingleEncapsulatedExpression

protected void visitSingleEncapsulatedExpression(AbstractSingleEncapsulatedExpression expression,
                                                 AbstractContentAssistVisitor.IdentificationVariableType identificationVariableType,
                                                 java.lang.String... expressionIdentifiers)
Adds the possible proposals for the given expression based on the location of the cursor and the content of the expression.

Parameters:
expression - The expression being visited
identificationVariableType - The type of identification variables that can be added as possible proposals
expressionIdentifiers - Sometimes the expression may have more than one possible identifier, such as ALL, ANY and SOME are a possible JPQL identifier for a single expression (AllOrAnyExpression

visitStatement

protected <T extends Expression> void visitStatement(T expression,
                                                     AbstractContentAssistVisitor.StatementHelper<T> helper)
Visits the given AbstractSelectStatement and checks to see if the identifiers of the following clauses can be added a valid proposals.

Parameters:
expression -
helper - This helper handles one clause from the given SELECT statement

visitThirdPartyPathExpression

protected void visitThirdPartyPathExpression(AbstractPathExpression expression,
                                             java.lang.String variableName)
Visits the given AbstractPathExpression and attempts to find valid proposals that is not provided by the default implementation. Subclasses can add additional proposals that is outside of the scope of generic JPA metadata.

Parameters:
expression - The AbstractPathExpression to inspect
variableName - The beginning of the path expression

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference