Class GroupByClauseStateObject

    • Constructor Detail

      • GroupByClauseStateObject

        public GroupByClauseStateObject​(AbstractSelectStatementStateObject parent)
        Creates a new GroupByClauseStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        Throws:
        NullPointerException - The given parent cannot be null
    • Method Detail

      • addGroupByItem

        public StateObject addGroupByItem​(String path)
        Adds the given path as a select item, which can either be an identification variable or a state-field path expression.
        Parameters:
        path - Either an identification variable or a state-field path expression
        Returns:
        The StateObject encapsulating the given path
      • getExpression

        public GroupByClause getExpression()
        Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.
        Specified by:
        getExpression in interface StateObject
        Overrides:
        getExpression in class AbstractStateObject
        Returns:
        The parsed object when a JPQL query is parsed and converted into a StateObject or null when the JPQL query is manually created (i.e. not from a string)
      • parse

        public void parse​(String jpqlFragment)
        Parses the given JPQL fragment, which will represent the group by items. The fragment cannot start with the GROUP BY.
        Parameters:
        jpqlFragment - The string representation of the group by items
      • setExpression

        public void setExpression​(GroupByClause expression)
        Keeps a reference of the parsed object object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query into StateObjects.
        Parameters:
        expression - The parsed object representing a GROUP BY clause