Class AbstractSelectStatement

    • Constructor Detail

      • AbstractSelectStatement

        protected AbstractSelectStatement​(AbstractExpression parent)
        Creates a new AbstractSelectStatement.
        Parameters:
        parent - The parent of this expression
    • Method Detail

      • buildFromClause

        protected abstract AbstractFromClause buildFromClause()
        Creates the expression representing the from clause of this select statement.
        Returns:
        A new from clause, null can't be returned
      • buildSelectClause

        protected abstract AbstractSelectClause buildSelectClause()
        Creates the expression representing the select clause of this select statement.
        Returns:
        A new from clause, null can't be returned
      • getFromClause

        public final Expression getFromClause()
        Returns the Expression representing the FROM clause.
        Returns:
        The expression representing the FROM clause
      • getGroupByClause

        public final Expression getGroupByClause()
        Returns the Expression representing the GROUP BY clause.
        Returns:
        The expression representing the GROUP BY clause
      • getHavingClause

        public final Expression getHavingClause()
        Returns the Expression representing the HAVING clause.
        Returns:
        The expression representing the HAVING clause
      • getSelectClause

        public final Expression getSelectClause()
        Returns the AbstractSelectClause representing the SELECT clause.
        Returns:
        The expression representing the SELECT clause
      • getWhereClause

        public final Expression getWhereClause()
        Returns the Expression representing the WHERE clause.
        Returns:
        The expression representing the WHERE clause
      • hasFromClause

        public final boolean hasFromClause()
        Determines whether the FROM clause was parsed or not.
        Returns:
        true if the query that got parsed had the FROM clause
      • hasGroupByClause

        public final boolean hasGroupByClause()
        Determines whether the GROUP BY clause was parsed or not.
        Returns:
        true if the query that got parsed had the GROUP BY clause
      • hasHavingClause

        public final boolean hasHavingClause()
        Determines whether the HAVING clause was parsed or not.
        Returns:
        true if the query that got parsed had the HAVING clause
      • hasSelectClause

        public final boolean hasSelectClause()
        Determines whether the SELECT clause was parsed or not.
        Returns:
        true if the query that got parsed had the HAVING clause
        Since:
        2.5
      • hasSpaceAfterFrom

        public final boolean hasSpaceAfterFrom()
        Determines whether a whitespace was found after the FROM clause. In some cases, the space is owned by a child of the FROM clause.
        Returns:
        true if there was a whitespace after the FROM clause and owned by this expression; false otherwise
      • hasSpaceAfterGroupBy

        public final boolean hasSpaceAfterGroupBy()
        Determines whether a whitespace was found after the GROUP BY clause. In some cases, the space is owned by a child of the GROUP BY clause.
        Returns:
        true if there was a whitespace after the GROUP BY clause and owned by this expression; false otherwise
      • hasSpaceAfterSelect

        public final boolean hasSpaceAfterSelect()
        Determines whether a whitespace was found after the SELECT clause. In some cases, the space is owned by a child of the SELECT clause.
        Returns:
        true if there was a whitespace after the SELECT clause and owned by this expression; false otherwise
      • hasSpaceAfterWhere

        public final boolean hasSpaceAfterWhere()
        Determines whether a whitespace was found after the WHERE clause. In some cases, the space is owned by a child of the WHERE clause.
        Returns:
        true if there was a whitespace after the WHERE clause and owned by this expression; false otherwise
      • hasWhereClause

        public final boolean hasWhereClause()
        Determines whether the WHERE clause is defined.
        Returns:
        true if the query that got parsed had the WHERE clause
      • parse

        protected void parse​(WordParser wordParser,
                             boolean tolerant)
        Parses the query by starting at the current position, which is part of the given WordParser.
        Specified by:
        parse in class AbstractExpression
        Parameters:
        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
      • shouldManageSpaceAfterClause

        protected boolean shouldManageSpaceAfterClause()
        Determines whether the whitespace following the HAVING clause should be managed by this expression or not.
        Returns:
        true by default to keep the whitespace part of this expression; false to let the parent handle it
      • toParsedText

        protected void toParsedText​(java.lang.StringBuilder writer,
                                    boolean actual)
        Generates a string representation of this Expression, including its children, if it has any.
        Specified by:
        toParsedText in class AbstractExpression
        Parameters:
        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