Interface AbstractContentAssistVisitor.CollectionExpressionHelper<T extends Expression>

    • 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 - The Expression being visited
        collectionExpression - The CollectionExpression is either the child of the given Expression or a temporary generated one that usually contains a single item
        index - The position of that child in the collection of children
        hasComma - Indicates whether a comma is present before the child at the given position; if the index is 0, then this is false by default
        virtualSpace - 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 - The Expression being visited
        identifier - 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 child Expression at the given position.
        Parameters:
        expression - The Expression being visited
        collectionExpression - 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 beginning
        index - The position of the child that was scanned
        hasComma - Indicates whether a comma is present before the child at the given position; if the index is 0, then this is false by default
      • buildCollectionExpression

        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.
        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 - The Expression being visited
        collectionExpression - The CollectionExpression
        index - The position of the child being scanned
        Returns:
        true if the check can continue even though the previous child was not separated by a comma; false to 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 - The Expression being visited
        Returns:
        true if something is present; false otherwise
      • maxCollectionSize

        int maxCollectionSize​(T expression)
        Returns the maximum number of encapsulated expressions the Expression allows. Some expression only allow 2, others 3 and others allow an unlimited number.
        Parameters:
        expression - The Expression for 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 - The Expression being 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 the JPQLQueryBNF that defines the fragment at the given position.
        Parameters:
        expression - The Expression being visited
        index - The position of the element to retrieve the BNF defined in the JPQL grammar
        Returns:
        The JPQLQueryBNF that defines the fragment at the given position