protected abstract static class AbstractContentAssistVisitor.AbstractConditionalClauseCollectionHelper<T extends Expression> extends java.lang.Object implements AbstractContentAssistVisitor.CollectionExpressionHelper<T>
Modifier | Constructor and Description |
---|---|
protected |
AbstractConditionalClauseCollectionHelper(AbstractContentAssistVisitor visitor) |
Modifier and Type | Method and Description |
---|---|
void |
addAtTheEndOfChild(Expression 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(Expression expression,
java.lang.String identifier)
Adds the given JPQL identifier as a valid proposal.
|
void |
addTheBeginningOfChild(Expression 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. |
boolean |
canContinue(Expression expression,
CollectionExpression collectionExpression,
int index)
Asks this helper if the search can continue even though two child expressions are not
separated by a comma.
|
protected java.lang.Object[] |
findChild(CollectionExpression collectionExpression,
int index)
Handles a special case for a compound identifier like 'IS EMPTY' or 'IS NOT EMPTY'.
|
int |
maxCollectionSize(Expression expression)
Returns the maximum number of encapsulated
expressions the Expression
allows. |
int |
preExpressionLength(Expression expression)
Returns the length of anything that can be defined before the first child.
|
JPQLQueryBNF |
queryBNF(Expression expression,
int index)
Returns the
JPQLQueryBNF that defines the fragment at the given position. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
buildCollectionExpression, hasDelimiterAfterIdentifier
protected AbstractConditionalClauseCollectionHelper(AbstractContentAssistVisitor visitor)
public void addAtTheEndOfChild(Expression expression, CollectionExpression collectionExpression, int index, boolean hasComma, boolean virtualSpace)
addAtTheEndOfChild
in interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
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 childpublic void addIdentifier(Expression expression, java.lang.String identifier)
addIdentifier
in interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
expression
- The Expression
being visitedidentifier
- The JPQL identifier to add as a valid proposalpublic void addTheBeginningOfChild(Expression expression, CollectionExpression collectionExpression, int index, boolean hasComma)
Expression
at the given position.addTheBeginningOfChild
in interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
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 defaultpublic boolean canContinue(Expression expression, CollectionExpression collectionExpression, int index)
canContinue
in interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
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 checkprotected java.lang.Object[] findChild(CollectionExpression collectionExpression, int index)
collectionExpression
- The CollectionExpression
is used to find the Expression
to use when filtering out compound identifierindex
- The position to start the search, which goes from that index to the beginningExpression
that can
be used when filtering out compound identifier. The second boolean element indicates if
IS
was detected after the child. The third boolean element indicates if
NOT
was detected after the child, which would also be after IS
if it was detected. null
is returned if nothing could be foundpublic int maxCollectionSize(Expression expression)
expressions
the Expression
allows. Some expression only allow 2, others 3 and others allow an unlimited number.maxCollectionSize
in interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
expression
- The Expression
for which its maximum number of childrenpublic int preExpressionLength(Expression expression)
DISTINCT
" in "AVG(DISTINCT e.name)
".preExpressionLength
in interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
expression
- The Expression
being visitedpublic JPQLQueryBNF queryBNF(Expression expression, int index)
JPQLQueryBNF
that defines the fragment at the given position.queryBNF
in interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>
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