Class AbstractContentAssistVisitor.UpdateItemCollectionHelper
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.AbstractContentAssistVisitor.UpdateItemCollectionHelper
-
- All Implemented Interfaces:
AbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>
- Enclosing class:
- AbstractContentAssistVisitor
protected static final class AbstractContentAssistVisitor.UpdateItemCollectionHelper extends java.lang.Object implements AbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedUpdateItemCollectionHelper(AbstractContentAssistVisitor visitor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAtTheEndOfChild(UpdateClause 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(UpdateClause expression, java.lang.String identifier)Adds the given JPQL identifier as a valid proposal.voidaddTheBeginningOfChild(UpdateClause expression, CollectionExpression collectionExpression, int index, boolean hasComma)Adds the proposals because the cursor is at the beginning of the childExpressionat the given position.CollectionExpressionbuildCollectionExpression(UpdateClause 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(UpdateClause 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(UpdateClause expression)Determines whether a delimiter like a whitespace or an open parenthesis was parsed after the identifier.intmaxCollectionSize(UpdateClause expression)Returns the maximum number of encapsulatedexpressionstheExpressionallows.intpreExpressionLength(UpdateClause expression)Returns the length of anything that can be defined before the first child.JPQLQueryBNFqueryBNF(UpdateClause expression, int index)Returns theJPQLQueryBNFthat defines the fragment at the given position.
-
-
-
Constructor Detail
-
UpdateItemCollectionHelper
protected UpdateItemCollectionHelper(AbstractContentAssistVisitor visitor)
-
-
Method Detail
-
addAtTheEndOfChild
public void addAtTheEndOfChild(UpdateClause 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.- Specified by:
addAtTheEndOfChildin interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- 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
public void addIdentifier(UpdateClause expression, java.lang.String identifier)
Adds the given JPQL identifier as a valid proposal.- Specified by:
addIdentifierin interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- Parameters:
expression- TheExpressionbeing visitedidentifier- The JPQL identifier to add as a valid proposal
-
addTheBeginningOfChild
public void addTheBeginningOfChild(UpdateClause expression, CollectionExpression collectionExpression, int index, boolean hasComma)
Adds the proposals because the cursor is at the beginning of the childExpressionat the given position.- Specified by:
addTheBeginningOfChildin interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- 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
public CollectionExpression buildCollectionExpression(UpdateClause expression)
Either returns the givenExpression's child, which is already aCollectionExpressionor requests this helper to return a "virtual"CollectionExpressionthat is wrapping the single element.- Specified by:
buildCollectionExpressionin interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- Parameters:
expression- The parent of the children to retrieve- Returns:
- The given expression's child or a "virtual" one
-
canContinue
public boolean canContinue(UpdateClause expression, CollectionExpression collectionExpression, int index)
Asks this helper if the search can continue even though two child expressions are not separated by a comma.- Specified by:
canContinuein interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- 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
public boolean hasDelimiterAfterIdentifier(UpdateClause expression)
Determines whether a delimiter like a whitespace or an open parenthesis was parsed after the identifier.- Specified by:
hasDelimiterAfterIdentifierin interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- Parameters:
expression- TheExpressionbeing visited- Returns:
trueif something is present;falseotherwise
-
maxCollectionSize
public int maxCollectionSize(UpdateClause expression)
Returns the maximum number of encapsulatedexpressionstheExpressionallows. Some expression only allow 2, others 3 and others allow an unlimited number.- Specified by:
maxCollectionSizein interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- Parameters:
expression- TheExpressionfor which its maximum number of children- Returns:
- The maximum number of children the expression can have
-
preExpressionLength
public int preExpressionLength(UpdateClause expression)
Returns the length of anything that can be defined before the first child. An example can be "DISTINCT" in "AVG(DISTINCT e.name)".- Specified by:
preExpressionLengthin interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- Parameters:
expression- TheExpressionbeing visited- Returns:
- The length of anything that was parsed before the first child or 0 if nothing was parsed
-
queryBNF
public JPQLQueryBNF queryBNF(UpdateClause expression, int index)
Returns theJPQLQueryBNFthat defines the fragment at the given position.- Specified by:
queryBNFin interfaceAbstractContentAssistVisitor.CollectionExpressionHelper<UpdateClause>- 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
-
-