Class GroupByClause

  • All Implemented Interfaces:

    public final class GroupByClause
    extends AbstractExpression
    The GROUP BY construct enables the aggregation of values according to the properties of an entity class.
    BNF: groupby_clause ::= GROUP BY groupby_item {, groupby_item}*

    Pascal Filion
    • Constructor Detail

      • GroupByClause

        public GroupByClause​(AbstractExpression parent)
        Creates a new GroupByClause.
        parent - The parent of this expression
    • Method Detail

      • buildCollectionExpression

        public CollectionExpression buildCollectionExpression()
        Creates a new CollectionExpression that will wrap the single group by item.
        The single group by item represented by a temporary collection
      • getActualIdentifier

        public String getActualIdentifier()
        Returns the actual GROUP BY found in the string representation of the JPQL query, which has the actual case that was used.
        The GROUP BY identifier that was actually parsed
      • getGroupByItems

        public Expression getGroupByItems()
        Returns the Expression that represents the list of group by items if any was parsed.
        The expression that was parsed representing the list of items
      • hasGroupByItems

        public boolean hasGroupByItems()
        Determines whether the list of items was parsed.
        true if at least one item was parsed; false otherwise
      • hasSpaceAfterGroupBy

        public boolean hasSpaceAfterGroupBy()
        Determines whether a whitespace was found after GROUP BY.
        true if there was a whitespace after GROUP BY; false otherwise
      • parse

        protected void parse​(WordParser wordParser,
                             boolean tolerant)
        Description copied from class: AbstractExpression
        Parses the query by starting at the current position, which is part of the given WordParser.
        Specified by:
        parse in class AbstractExpression
        wordParser - The text to parse based on the current position of the cursor
        tolerant - Determines whether the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
      • toParsedText

        protected void toParsedText​(StringBuilder writer,
                                    boolean actual)
        Description copied from class: AbstractExpression
        Generates a string representation of this Expression, including its children, if it has any.
        Specified by:
        toParsedText in class AbstractExpression
        writer - The buffer used to append this Expression's string representation
        actual - Determines whether the string representation should represent what was parsed, i.e. include any "virtual" whitespace (such as ending whitespace) and the actual case of the JPQL identifiers