Class EclipseLinkContentAssistVisitor
java.lang.Object
org.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor
org.eclipse.persistence.jpa.jpql.tools.AbstractContentAssistVisitor
org.eclipse.persistence.jpa.jpql.tools.EclipseLinkContentAssistVisitor
- All Implemented Interfaces:
EclipseLinkExpressionVisitor,ExpressionVisitor
public class EclipseLinkContentAssistVisitor
extends AbstractContentAssistVisitor
implements EclipseLinkExpressionVisitor
This extension over the default content assist visitor adds the additional support EclipseLink
provides.
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.
- Since:
- 2.4
- Version:
- 2.5.1
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final classprotected static final classprotected static final classprotected static final classThis visitor adds support for the additional clauses provided by EclipseLink, such as theprotected classprotected classprotected classThis subclass adds support for EclipseLink specific support.protected classprotected classprotected classprotected classNested classes/interfaces inherited from class org.eclipse.persistence.jpa.jpql.tools.AbstractContentAssistVisitor
AbstractContentAssistVisitor.AbstractAppendableExpressionVisitor, AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper<T extends Expression>, AbstractContentAssistVisitor.AbstractFromClauseStatementHelper<T extends AbstractSelectStatement>, AbstractContentAssistVisitor.AbstractGroupByClauseStatementHelper<T extends AbstractSelectStatement>, AbstractContentAssistVisitor.AbstractHavingClauseStatementHelper<T extends AbstractSelectStatement>, AbstractContentAssistVisitor.AbstractSelectClauseCollectionHelper<T extends AbstractSelectClause>, AbstractContentAssistVisitor.AbstractSelectClauseStatementHelper, AbstractContentAssistVisitor.AbstractWhereClauseSelectStatementHelper<T extends AbstractSelectStatement>, AbstractContentAssistVisitor.AppendableType, AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>, AbstractContentAssistVisitor.CollectionExpressionVisitor, AbstractContentAssistVisitor.CollectionMappingFilter, AbstractContentAssistVisitor.ConcatExpressionCollectionHelper, AbstractContentAssistVisitor.ConditionalClauseCollectionHelper, AbstractContentAssistVisitor.ConstrutorCollectionHelper, AbstractContentAssistVisitor.DeclarationVisitor, AbstractContentAssistVisitor.DefaultMappingCollector, AbstractContentAssistVisitor.DeleteClauseCollectionHelper, AbstractContentAssistVisitor.DeleteClauseStatementHelper, AbstractContentAssistVisitor.DifferentComparisonFilter, AbstractContentAssistVisitor.DoubleEncapsulatedCollectionHelper, AbstractContentAssistVisitor.EncapsulatedExpressionVisitor, AbstractContentAssistVisitor.EnumVisitor, AbstractContentAssistVisitor.FilteringMappingCollector, AbstractContentAssistVisitor.FollowingInvalidExpressionVisitor, AbstractContentAssistVisitor.GroupByClauseCollectionHelper, AbstractContentAssistVisitor.GroupByClauseStatementHelper, AbstractContentAssistVisitor.HavingClauseStatementHelper, AbstractContentAssistVisitor.IdentificationVariableType, AbstractContentAssistVisitor.InvalidExpressionVisitor, AbstractContentAssistVisitor.JoinCollectionHelper, AbstractContentAssistVisitor.MappingCollector, AbstractContentAssistVisitor.MappingFilterBuilder, AbstractContentAssistVisitor.MappingTypeFilter, AbstractContentAssistVisitor.NotExpressionVisitor, AbstractContentAssistVisitor.OrderByClauseCollectionHelper, AbstractContentAssistVisitor.PropertyMappingFilter, AbstractContentAssistVisitor.RangeVariableDeclarationVisitor, AbstractContentAssistVisitor.ResultVariableVisitor, AbstractContentAssistVisitor.SelectClauseCollectionHelper, AbstractContentAssistVisitor.SelectClauseStatementHelper, AbstractContentAssistVisitor.SimpleGroupByClauseStatementHelper, AbstractContentAssistVisitor.SimpleHavingClauseStatementHelper, AbstractContentAssistVisitor.SimpleSelectClauseCollectionHelper, AbstractContentAssistVisitor.SimpleSelectClauseStatementHelper, AbstractContentAssistVisitor.SimpleWhereClauseSelectStatementHelper, AbstractContentAssistVisitor.StatementHelper<T extends Expression>, AbstractContentAssistVisitor.SubqueryAppendableExpressionVisitor, AbstractContentAssistVisitor.SubqueryVisitor, AbstractContentAssistVisitor.TripleEncapsulatedCollectionHelper, AbstractContentAssistVisitor.UpdateClauseStatementHelper, AbstractContentAssistVisitor.UpdateItemCollectionHelper, AbstractContentAssistVisitor.VisitParentVisitor, AbstractContentAssistVisitor.WhenClauseConditionalClauseCollectionHelper, AbstractContentAssistVisitor.WhereClauseDeleteStatementHelper, AbstractContentAssistVisitor.WhereClauseSelectStatementHelper, AbstractContentAssistVisitor.WhereClauseUpdateStatementHelper, AbstractContentAssistVisitor.WithinInvalidExpressionVisitor -
Field Summary
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.AbstractContentAssistVisitor
corrections, helpers, identifierFilters, INVALID_IDENTIFIER_FILTER, lockedExpressions, proposals, queryContext, queryPosition, SPACE_LENGTH, VALID_IDENTIFIER_FILTER, virtualSpaces, word, wordParser -
Constructor Summary
ConstructorsConstructorDescriptionEclipseLinkContentAssistVisitor(JPQLQueryContext queryContext) Creates a newEclipseLinkContentAssistVisitor. -
Method Summary
Modifier and TypeMethodDescriptionprotected EclipseLinkVersionReturns the enum constant of the EclipseLink version specified in theJPQLQueryContext.protected JPQLGrammarReturns the latest supported JPQL grammar, which is required when checking the validity of a JPQL identifier.protected StringgetTableName(String variableName) protected voidInitializes this visitor.protected booleanDetermines whether aJOIN FETCHexpression can be identified by with an identification variable or not.protected booleanisTableExpression(Expression expression) voidvisit(AsOfClause expression) Visits theAsOfClauseexpression.voidvisit(CastExpression expression) Visits theCastExpressionexpression.voidvisit(ConnectByClause expression) Visits theConnectByClauseexpression.voidvisit(DatabaseType expression) Visits theDatabaseTypeexpression.voidvisit(ExtractExpression expression) Visits theExtractExpressionexpression.voidvisit(HierarchicalQueryClause expression) Visits theHierarchicalQueryClauseexpression.voidvisit(OrderByItem expression) Visits theOrderByItemexpression.voidvisit(OrderSiblingsByClause expression) Visits theOrderSiblingsByClauseexpression.voidvisit(RegexpExpression expression) Visits theRegexpExpressionexpression.voidvisit(StartWithClause expression) Visits theStartWithClauseexpression.voidvisit(TableExpression expression) Visits theTableExpressionexpression.voidvisit(TableVariableDeclaration expression) Visits theTableVariableDeclarationexpression.voidvisit(UnionClause expression) Visits theUnionClauseexpression.protected voidvisitThirdPartyPathExpression(AbstractPathExpression expression, String variableName) Visits the givenAbstractPathExpressionand attempts to find valid proposals that is not provided by the default implementation.Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.AbstractContentAssistVisitor
addAggregateIdentifier, addAggregateIdentifiers, addAggregateIdentifiers, addArithmeticIdentifiers, addClauseIdentifier, addClauseIdentifiers, addClauseIdentifiers, addComparisonIdentifiers, addCompositeIdentifier, addCompoundIdentifier, addCompoundIdentifiers, addCompoundIdentifiers, addEntities, addEntities, addEnumConstant, addEnumConstants, addExpressionFactoryIdentifiers, addExpressionFactoryIdentifiers, addFunctionIdentifier, addFunctionIdentifiers, addFunctionIdentifiers, addFunctionIdentifiers, addIdentificationVariable, addIdentificationVariables, addIdentificationVariables, addIdentifier, addJoinIdentifiers, addLeftIdentificationVariables, addLogicalIdentifiers, addRangeIdentificationVariable, addResultVariables, addVirtualSpace, areArithmeticSymbolsAppendable, areComparisonSymbolsAppendable, areLogicalSymbolsAppendable, buildCollectionCompoundTypeFilter, buildCollectionExpressionVisitor, buildCollectionMappingFilter, buildConcatExpressionCollectionHelper, buildConditionalClauseCollectionHelper, buildConstrutorCollectionHelper, buildDeclarationVisitor, buildDefaultMappingCollector, buildDeleteClauseCollectionHelper, buildDeleteClauseStatementHelper, buildDifferentComparisonFilter, buildDoubleEncapsulatedCollectionHelper, buildEncapsulatedExpressionVisitor, buildEndingPositionFromInvalidExpression, buildEnumVisitor, buildFilteringMappingCollector, buildFollowingInvalidExpressionVisitor, buildGroupByClauseStatementHelper, buildHavingClauseStatementHelper, buildInvalidExpressionVisitor, buildJoinCollectionHelper, buildJPQLQueryBNFValidator, buildMappingCollector, buildMappingFilter, buildMappingFilter, buildMappingFilterBuilder, buildNonCollectionCompoundTypeFilter, buildNotExpressionVisitor, buildOrderByClauseCollectionHelper, buildPropertyMappingFilter, buildProposals, buildProposals, buildRangeVariableDeclarationVisitor, buildResultVariableVisitor, buildSelectClauseCollectionHelper, buildSelectClauseStatementHelper, buildSimpleGroupByClauseStatementHelper, buildSimpleHavingClauseStatementHelper, buildSimpleSelectClauseCollectionHelper, buildSimpleSelectClauseStatementHelper, buildSimpleWhereClauseSelectStatementHelper, buildSubqueryAppendableExpressionVisitor, buildSubqueryVisitor, buildTripleEncapsulatedCollectionHelper, buildUpdateClauseStatementHelper, buildUpdateItemCollectionHelper, buildVisitParentVisitor, buildWhenClauseConditionalClauseCollectionHelper, buildWhereClauseDeleteStatementHelper, buildWhereClauseSelectStatementHelper, buildWhereClauseUpdateStatementHelper, buildWithinInvalidExpressionVisitor, dispose, findRangeVariableDeclaration, getAcceptableType, getAppendableExpressionVisitor, getCollectionExpression, getCollectionExpressionVisitor, getConcatExpressionCollectionHelper, getConditionalClauseCollectionHelper, getConstructorCollectionHelper, getDeclarationVisitor, getDefaultMappingCollector, getDeleteClauseCollectionHelper, getDeleteClauseStatementHelper, getDoubleEncapsulatedCollectionHelper, getEncapsulatedExpressionVisitor, getEndingQueryPositionBuilder, getEnumVisitor, getExpressionFactory, getExpressionTypeVisitor, getFilter, getFollowingClausesVisitor, getFollowingInvalidExpressionVisitor, getFromClauseCollectionHelper, getFromClauseStatementHelper, getGroupByClauseCollectionHelper, getGroupByClauseStatementHelper, getHavingClauseStatementHelper, getHelper, getIdentifierRole, getIncompleteCollectionExpressionVisitor, getInvalidExpressionVisitor, getJoinCollectionHelper, getMappingCollectionFilter, getMappingFilterBuilder, getMappingPropertyFilter, getNotExpressionVisitor, getOrderByClauseCollectionHelper, getOrderByClauseStatementHelper, getQueryBNF, getRangeVariableDeclarationVisitor, getResultVariableVisitor, getSelectClauseCollectionHelper, getSelectClauseStatementHelper, getSimpleFromClauseStatementHelper, getSimpleGroupByClauseStatementHelper, getSimpleHavingClauseStatementHelper, getSimpleSelectClauseCollectionHelper, getSimpleSelectClauseStatementHelper, getSimpleWhereClauseSelectStatementHelper, getSubqueryAppendableExpressionVisitor, getSubqueryVisitor, getTripleEncapsulatedCollectionHelper, getUpdateClauseStatementHelper, getUpdateItemCollectionHelper, getVisitParentVisitor, getWhenClauseConditionalClauseCollectionHelper, getWhereClauseDeleteStatementHelper, getWhereClauseSelectStatementHelper, getWhereClauseUpdateStatementHelper, getWithinInvalidExpressionVisitor, hasClausesDefinedBetween, hasVirtualSpace, isAggregate, isAppendable, isAppendableToCollection, isClause, isClauseAppendable, isComplete, isCompoundable, isCompoundFunction, isDeclaration, isEncapsulated, isEnumAllowed, isFollowingInvalidExpression, isFunction, isInSubquery, isInvalidExpression, isLocked, isNotExpression, isPositionWithin, isPositionWithin, isSubqueryAppendable, isValid, isValid, isValid, isValid, isValid, isValidProposal, isValidVersion, isWithinInvalidExpression, registerHelper, removeVirtualSpace, toString, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAggregateFunction, visitArithmeticExpression, visitCollectionExpression, visitEndingExpression, visitEnumConstant, visitInvalidExpression, visitLogicalExpression, visitPathExpression, visitPathExpression, visitSingleEncapsulatedExpression, visitSingleEncapsulatedExpression, visitStatementMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.persistence.jpa.jpql.parser.ExpressionVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Constructor Details
-
EclipseLinkContentAssistVisitor
Creates a newEclipseLinkContentAssistVisitor.- Parameters:
queryContext- The context used to query information about the query- Throws:
NullPointerException- TheJPQLQueryContextcannot benull
-
-
Method Details
-
buildAcceptableTypeVisitor
- Specified by:
buildAcceptableTypeVisitorin classAbstractContentAssistVisitor
-
buildAppendableExpressionVisitor
protected EclipseLinkContentAssistVisitor.AppendableExpressionVisitor buildAppendableExpressionVisitor()- Overrides:
buildAppendableExpressionVisitorin classAbstractContentAssistVisitor
-
buildEndingQueryPositionBuilder
protected EclipseLinkContentAssistVisitor.EndingQueryPositionBuilder buildEndingQueryPositionBuilder()- Overrides:
buildEndingQueryPositionBuilderin classAbstractContentAssistVisitor
-
buildFollowingClausesVisitor
- Overrides:
buildFollowingClausesVisitorin classAbstractContentAssistVisitor
-
buildFromClauseCollectionHelper
protected EclipseLinkContentAssistVisitor.FromClauseCollectionHelper buildFromClauseCollectionHelper()- Overrides:
buildFromClauseCollectionHelperin classAbstractContentAssistVisitor
-
buildFromClauseStatementHelper
protected EclipseLinkContentAssistVisitor.FromClauseStatementHelper buildFromClauseStatementHelper()- Overrides:
buildFromClauseStatementHelperin classAbstractContentAssistVisitor
-
buildGroupByClauseCollectionHelper
protected AbstractContentAssistVisitor.GroupByClauseCollectionHelper buildGroupByClauseCollectionHelper()- Overrides:
buildGroupByClauseCollectionHelperin classAbstractContentAssistVisitor
-
buildIncompleteCollectionExpressionVisitor
protected EclipseLinkContentAssistVisitor.IncompleteCollectionExpressionVisitor buildIncompleteCollectionExpressionVisitor()- Overrides:
buildIncompleteCollectionExpressionVisitorin classAbstractContentAssistVisitor
-
buildOrderByClauseStatementHelper
protected EclipseLinkContentAssistVisitor.OrderByClauseStatementHelper buildOrderByClauseStatementHelper()- Overrides:
buildOrderByClauseStatementHelperin classAbstractContentAssistVisitor
-
buildSimpleFromClauseStatementHelper
protected EclipseLinkContentAssistVisitor.SimpleFromClauseStatementHelper buildSimpleFromClauseStatementHelper()- Overrides:
buildSimpleFromClauseStatementHelperin classAbstractContentAssistVisitor
-
buildTableExpressionVisitor
-
buildUnionClauseStatementHelper
protected EclipseLinkContentAssistVisitor.UnionClauseStatementHelper buildUnionClauseStatementHelper() -
getEcliseLinkVersion
Returns the enum constant of the EclipseLink version specified in theJPQLQueryContext.- Returns:
- The EclipseLink version specified or the default version (i.e. the version of the current release)
- Since:
- 2.5
-
getLatestGrammar
Description copied from class:AbstractContentAssistVisitorReturns the latest supported JPQL grammar, which is required when checking the validity of a JPQL identifier. This is due to the fact that any JPQL identifiers defined in a more recent spec will be seen to be registered in version 1.0 of the spec. By returning the latest version, any JPQL identifiers should have a version registered.- Specified by:
getLatestGrammarin classAbstractContentAssistVisitor- Returns:
- The latest
JPQLGrammarsupported by the provider
-
getTableExpressionVisitor
-
getTableName
-
getUnionClauseStatementHelper
protected EclipseLinkContentAssistVisitor.UnionClauseStatementHelper getUnionClauseStatementHelper() -
initialize
protected void initialize()Description copied from class:AbstractContentAssistVisitorInitializes this visitor.- Overrides:
initializein classAbstractContentAssistVisitor
-
isJoinFetchIdentifiable
protected boolean isJoinFetchIdentifiable()Description copied from class:AbstractContentAssistVisitorDetermines whether aJOIN FETCHexpression can be identified by with an identification variable or not.- Specified by:
isJoinFetchIdentifiablein classAbstractContentAssistVisitor- Returns:
trueif the expression can have an identification variable;falseotherwise
-
isTableExpression
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theAsOfClauseexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theCastExpressionexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theConnectByClauseexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheConnectByClauseto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theDatabaseTypeexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheDatabaseTypeto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theExtractExpressionexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theHierarchicalQueryClauseexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheHierarchicalQueryClauseto visit
-
visit
Description copied from interface:ExpressionVisitorVisits theOrderByItemexpression.- Specified by:
visitin interfaceExpressionVisitor- Overrides:
visitin classAbstractContentAssistVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theOrderSiblingsByClauseexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theRegexpExpressionexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theStartWithClauseexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheStartWithClauseto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theTableExpressionexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theTableVariableDeclarationexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visit
Description copied from interface:EclipseLinkExpressionVisitorVisits theUnionClauseexpression.- Specified by:
visitin interfaceEclipseLinkExpressionVisitor- Parameters:
expression- TheExpressionto visit
-
visitThirdPartyPathExpression
protected void visitThirdPartyPathExpression(AbstractPathExpression expression, String variableName) Description copied from class:AbstractContentAssistVisitorVisits the givenAbstractPathExpressionand 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.- Overrides:
visitThirdPartyPathExpressionin classAbstractContentAssistVisitor- Parameters:
expression- TheAbstractPathExpressionto inspectvariableName- The beginning of the path expression
-