Interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
-
- All Known Implementing Classes:
AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper,AbstractContentAssistVisitor.AbstractSelectClauseCollectionHelper,AbstractContentAssistVisitor.ConcatExpressionCollectionHelper,AbstractContentAssistVisitor.ConditionalClauseCollectionHelper,AbstractContentAssistVisitor.ConstrutorCollectionHelper,AbstractContentAssistVisitor.DeleteClauseCollectionHelper,AbstractContentAssistVisitor.DoubleEncapsulatedCollectionHelper,AbstractContentAssistVisitor.FromClauseCollectionHelper,AbstractContentAssistVisitor.GroupByClauseCollectionHelper,AbstractContentAssistVisitor.JoinCollectionHelper,AbstractContentAssistVisitor.OrderByClauseCollectionHelper,AbstractContentAssistVisitor.SelectClauseCollectionHelper,AbstractContentAssistVisitor.SimpleSelectClauseCollectionHelper,AbstractContentAssistVisitor.TripleEncapsulatedCollectionHelper,AbstractContentAssistVisitor.UpdateItemCollectionHelper,AbstractContentAssistVisitor.WhenClauseConditionalClauseCollectionHelper,EclipseLinkContentAssistVisitor.FromClauseCollectionHelper
- Enclosing class:
- AbstractContentAssistVisitor
protected static interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>This helper is used to determine how to add proposals within a collection of expressions. Each expression is usually separated by either a whitespace or by a comma.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddAtTheEndOfChild(T expression, CollectionExpression collectionExpression, int index, boolean hasComma, boolean virtualSpace)Adds the proposals because the cursor is at the end of the child at the given position.voidaddIdentifier(T expression, java.lang.String identifier)Adds the given JPQL identifier as a valid proposal.voidaddTheBeginningOfChild(T expression, CollectionExpression collectionExpression, int index, boolean hasComma)Adds the proposals because the cursor is at the beginning of the childExpressionat the given position.CollectionExpressionbuildCollectionExpression(T expression)Either returns the givenExpression's child, which is already aCollectionExpressionor requests this helper to return a "virtual"CollectionExpressionthat is wrapping the single element.booleancanContinue(T expression, CollectionExpression collectionExpression, int index)Asks this helper if the search can continue even though two child expressions are not separated by a comma.booleanhasDelimiterAfterIdentifier(T expression)Determines whether a delimiter like a whitespace or an open parenthesis was parsed after the identifier.intmaxCollectionSize(T expression)Returns the maximum number of encapsulatedexpressionstheExpressionallows.intpreExpressionLength(T expression)Returns the length of anything that can be defined before the first child.JPQLQueryBNFqueryBNF(T expression, int index)Returns theJPQLQueryBNFthat defines the fragment at the given position.
-
-
-
Method Detail
-
addAtTheEndOfChild
void addAtTheEndOfChild(T expression, CollectionExpression collectionExpression, int index, boolean hasComma, boolean virtualSpace)
Adds the proposals because the cursor is at the end of the child at the given position.- Parameters:
expression- TheExpressionbeing visitedcollectionExpression- TheCollectionExpressionis either the child of the givenExpressionor a temporary generated one that usually contains a single itemindex- The position of that child in the collection of childrenhasComma- Indicates whether a comma is present before the child at the given position; if the index is 0, then this isfalseby defaultvirtualSpace- Indicates if this method is called because the cursor is at the end of the child at the specified index but by considering there is a virtual space at the end of that child
-
addIdentifier
void addIdentifier(T expression, java.lang.String identifier)
Adds the given JPQL identifier as a valid proposal.- Parameters:
expression- TheExpressionbeing visitedidentifier- The JPQL identifier to add as a valid proposal
-
addTheBeginningOfChild
void addTheBeginningOfChild(T expression, CollectionExpression collectionExpression, int index, boolean hasComma)
Adds the proposals because the cursor is at the beginning of the childExpressionat the given position.- Parameters:
expression- TheExpressionbeing visitedcollectionExpression- TheCollectionExpressionis either the child of the givenExpressionor a temporary generated one that usually contains a single item. This can be null if the position is at the beginningindex- The position of the child that was scannedhasComma- Indicates whether a comma is present before the child at the given position; if the index is 0, then this isfalseby default
-
buildCollectionExpression
CollectionExpression buildCollectionExpression(T expression)
Either returns the givenExpression's child, which is already aCollectionExpressionor requests this helper to return a "virtual"CollectionExpressionthat is wrapping the single element.- Parameters:
expression- The parent of the children to retrieve- Returns:
- The given expression's child or a "virtual" one
-
canContinue
boolean canContinue(T expression, CollectionExpression collectionExpression, int index)
Asks this helper if the search can continue even though two child expressions are not separated by a comma.- Parameters:
expression- TheExpressionbeing visitedcollectionExpression- TheCollectionExpressionindex- The position of the child being scanned- Returns:
trueif the check can continue even though the previous child was not separated by a comma;falseto stop the check
-
hasDelimiterAfterIdentifier
boolean hasDelimiterAfterIdentifier(T expression)
Determines whether a delimiter like a whitespace or an open parenthesis was parsed after the identifier.- Parameters:
expression- TheExpressionbeing visited- Returns:
trueif something is present;falseotherwise
-
maxCollectionSize
int maxCollectionSize(T expression)
Returns the maximum number of encapsulatedexpressionstheExpressionallows. Some expression only allow 2, others 3 and others allow an unlimited number.- Parameters:
expression- TheExpressionfor which its maximum number of children- Returns:
- The maximum number of children the expression can have
-
preExpressionLength
int preExpressionLength(T expression)
Returns the length of anything that can be defined before the first child. An example can be "DISTINCT" in "AVG(DISTINCT e.name)".- Parameters:
expression- TheExpressionbeing visited- Returns:
- The length of anything that was parsed before the first child or 0 if nothing was parsed
-
queryBNF
JPQLQueryBNF queryBNF(T expression, int index)
Returns theJPQLQueryBNFthat defines the fragment at the given position.- Parameters:
expression- TheExpressionbeing visitedindex- The position of the element to retrieve the BNF defined in the JPQL grammar- Returns:
- The
JPQLQueryBNFthat defines the fragment at the given position
-
-