protected static interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
Modifier and Type | Method and Description |
---|---|
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.
|
void |
addIdentifier(T expression,
java.lang.String identifier)
Adds the given JPQL identifier as a valid proposal.
|
void |
addTheBeginningOfChild(T expression,
CollectionExpression collectionExpression,
int index,
boolean hasComma)
Adds the proposals because the cursor is at the beginning of the child
Expression
at the given position. |
CollectionExpression |
buildCollectionExpression(T expression)
Either returns the given
Expression 's child, which is already a CollectionExpression
or requests this helper to return a "virtual" CollectionExpression that is wrapping
the single element. |
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.
|
boolean |
hasDelimiterAfterIdentifier(T expression)
Determines whether a delimiter like a whitespace or an open parenthesis was parsed after
the identifier.
|
int |
maxCollectionSize(T expression)
Returns the maximum number of encapsulated
expressions the Expression
allows. |
int |
preExpressionLength(T expression)
Returns the length of anything that can be defined before the first child.
|
JPQLQueryBNF |
queryBNF(T expression,
int index)
Returns the
JPQLQueryBNF that defines the fragment at the given position. |
void addAtTheEndOfChild(T expression, CollectionExpression collectionExpression, int index, boolean hasComma, boolean virtualSpace)
expression
- The Expression
being visitedcollectionExpression
- The CollectionExpression
is either the child of the
given Expression
or 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 is false
by 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 childvoid addIdentifier(T expression, java.lang.String identifier)
expression
- The Expression
being visitedidentifier
- The JPQL identifier to add as a valid proposalvoid addTheBeginningOfChild(T expression, CollectionExpression collectionExpression, int index, boolean hasComma)
Expression
at the given position.expression
- The Expression
being visitedcollectionExpression
- The CollectionExpression
is either the child of the
given Expression
or 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 is false
by defaultCollectionExpression buildCollectionExpression(T expression)
Expression
's child, which is already a CollectionExpression
or requests this helper to return a "virtual" CollectionExpression
that is wrapping
the single element.expression
- The parent of the children to retrieveboolean canContinue(T expression, CollectionExpression collectionExpression, int index)
expression
- The Expression
being visitedcollectionExpression
- The CollectionExpression
index
- The position of the child being scannedtrue
if the check can continue even though the previous child was not
separated by a comma; false
to stop the checkboolean hasDelimiterAfterIdentifier(T expression)
expression
- The Expression
being visitedtrue
if something is present; false
otherwiseint maxCollectionSize(T expression)
expressions
the Expression
allows. Some expression only allow 2, others 3 and others allow an unlimited number.expression
- The Expression
for which its maximum number of childrenint preExpressionLength(T expression)
DISTINCT
" in "AVG(DISTINCT e.name)
".expression
- The Expression
being visitedJPQLQueryBNF queryBNF(T expression, int index)
JPQLQueryBNF
that defines the fragment at the given position.expression
- The Expression
being visitedindex
- The position of the element to retrieve the BNF defined in the JPQL grammarJPQLQueryBNF
that defines the fragment at the given position