Class GroupByClauseStateObject

    • Field Detail

      • GROUP_BY_ITEMS_LIST

        public static final java.lang.String GROUP_BY_ITEMS_LIST
        Notify the list of StateObjects representing the GROUP BY items.
        See Also:
        Constant Field Values
    • Constructor Detail

      • GroupByClauseStateObject

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

      • addGroupByItem

        public StateObject addGroupByItem​(java.lang.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​(java.lang.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
      • toTextInternal

        protected void toTextInternal​(java.lang.Appendable writer)
                               throws java.io.IOException
        Prints out a string representation of this StateObject, which should not be used to define a true string representation of a JPQL query but should be used for debugging purposes.
        Specified by:
        toTextInternal in class AbstractStateObject
        Parameters:
        writer - The writer used to print out the string representation
        Throws:
        java.io.IOException - This should never happens, it is only required because Appendable is used instead of any concrete class