Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.jpa.internal.jpql.parser
Class AbstractSelectStatement

java.lang.Object
  extended by org.eclipse.persistence.jpa.internal.jpql.parser.StringExpression
      extended by org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression
          extended by org.eclipse.persistence.jpa.internal.jpql.parser.AbstractSelectStatement

All Implemented Interfaces:
Expression
Direct Known Subclasses:
SelectStatement, SimpleSelectStatement

public abstract class AbstractSelectStatement
extends AbstractExpression

A select statement must always have a SELECT and a FROM clause.

Since:
2.3
Version:
2.3
Author:
Pascal Filion
See Also:
SelectStatement, SimpleSelectStatement

Field Summary
private  AbstractExpression fromClause
          The FROM clause of this select statement.
private  AbstractExpression groupByClause
          The GROUP BY clause of this select statement.
private  boolean hasSpaceAfterFrom
          Determines whether there is a whitespace after the identifier FROM.
private  boolean hasSpaceAfterGroupBy
          Determines whether there is a whitespace after the identifier GROUP BY.
private  boolean hasSpaceAfterSelect
          Determines whether there is a whitespace after the identifier SELECT.
private  boolean hasSpaceAfterWhere
          Determines whether there is a whitespace after the identifier WHERE.
private  AbstractExpression havingClause
          The HAVING clause of this select statement.
private  AbstractSelectClause selectClause
          The SELECT clause of this select statement.
private  AbstractExpression whereClause
          The WHERE clause of this select statement.

 

Fields inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE

 

Fields inherited from interface org.eclipse.persistence.jpa.internal.jpql.parser.Expression
ABS, ALL, AND, ANY, AS, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, CONCAT, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXISTS, FALSE, FETCH, FROM, FUNC, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, OBJECT, OF, OR, ORDER_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, SELECT, SET, SIZE, SOME, SQRT, SUBSTRING, SUM, THEN, TRAILING, TREAT, TRIM, TRUE, TYPE, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE

 

Constructor Summary
AbstractSelectStatement(AbstractExpression parent)
          Creates a new AbstractSelectStatement.

 

Method Summary
 void acceptChildren(ExpressionVisitor visitor)
          Visits the children of this Expression.
(package private)  void addChildrenTo(java.util.Collection<Expression> children)
          Adds the children of this Expression to the given collection.
 AbstractFromClause addFromClause()
          Manually adds the FROM clause to this SELECT statement.
(package private)  void addOrderedChildrenTo(java.util.List<StringExpression> children)
          Adds the StringExpressions representing this Expression.
 SelectClause addSelectClause()
          Sets the query statement to be a select clause.
(package private)  WhereClause addWhereClause()
          Manually adds an empty WHERE clause.
(package private) abstract  AbstractFromClause buildFromClause()
          Creates the expression representing the from clause of this select statement.
(package private) abstract  AbstractSelectClause buildSelectClause()
          Creates the expression representing the select clause of this select statement.
 Expression getFromClause()
          Returns the Expression representing the FROM clause.
 Expression getGroupByClause()
          Returns the Expression representing the GROUP BY clause.
 Expression getHavingClause()
          Returns the Expression representing the HAVING clause.
 AbstractSelectClause getSelectClause()
          Returns the AbstractSelectClause representing the SELECT clause.
 Expression getWhereClause()
          Returns the Expression representing the WHERE clause.
 boolean hasFromClause()
          Determines whether the FROM clause is defined.
 boolean hasGroupByClause()
          Determines whether the GROUP BY clause is defined.
 boolean hasHavingClause()
          Determines whether the HAVING clause is defined.
 boolean hasSpaceAfterFrom()
          Determines whether a whitespace was found after the FROM clause.
 boolean hasSpaceAfterGroupBy()
          Determines whether a whitespace was found after the GROUP BY clause.
 boolean hasSpaceAfterSelect()
          Determines whether a whitespace was found after the SELECT clause.
 boolean hasSpaceAfterWhere()
          Determines whether a whitespace was found after the WHERE clause.
 boolean hasWhereClause()
          Determines whether the WHERE clause is defined.
(package private)  void parse(WordParser wordParser, boolean tolerant)
          Parses the query by starting at the current position, which is part of the given WordParser.
(package private)  boolean shouldManageSpaceAfterClause()
          Determines whether
(package private)  void toParsedText(java.lang.StringBuilder writer, boolean includeVirtual)
          Generates a string representation of this Expression.

 

Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression
buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, children, expressionFactory, expressionFactoryForIdentifier, findQueryBNF, getChildren, getJPAVersion, getParent, getQueryBNF, getRoot, getText, handleAggregate, identifierRole, identifiers, identifiers, identifierVersion, isAncestor, isIdentifier, isNull, isParsingComplete, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseSingleExpression, populatePosition, queryBNF, readdLeadingSpaces, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toString

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

 

Methods inherited from interface org.eclipse.persistence.jpa.internal.jpql.parser.Expression
accept

 

Field Detail

fromClause

private AbstractExpression fromClause
The FROM clause of this select statement.

groupByClause

private AbstractExpression groupByClause
The GROUP BY clause of this select statement.

hasSpaceAfterFrom

private boolean hasSpaceAfterFrom
Determines whether there is a whitespace after the identifier FROM.

hasSpaceAfterGroupBy

private boolean hasSpaceAfterGroupBy
Determines whether there is a whitespace after the identifier GROUP BY.

hasSpaceAfterSelect

private boolean hasSpaceAfterSelect
Determines whether there is a whitespace after the identifier SELECT.

hasSpaceAfterWhere

private boolean hasSpaceAfterWhere
Determines whether there is a whitespace after the identifier WHERE.

havingClause

private AbstractExpression havingClause
The HAVING clause of this select statement.

selectClause

private AbstractSelectClause selectClause
The SELECT clause of this select statement.

whereClause

private AbstractExpression whereClause
The WHERE clause of this select statement.

Constructor Detail

AbstractSelectStatement

AbstractSelectStatement(AbstractExpression parent)
Creates a new AbstractSelectStatement.
Parameters:
parent - The parent of this expression

Method Detail

acceptChildren

public void acceptChildren(ExpressionVisitor visitor)
Visits the children of this Expression. This method can be used to optimize traversing the children since a new list is not created every time Expression.children() or Expression.getChildren() is called.

This does not traverse the Expression sub-hierarchy, use an subclass of AbstractTraverseChildrenVisitor in order to traverse the entire sub-hierarchy.

Parameters:
visitor - The visitor to visit the children of this object.

addChildrenTo

void addChildrenTo(java.util.Collection<Expression> children)
Adds the children of this Expression to the given collection.
Overrides:
addChildrenTo in class AbstractExpression
Parameters:
children - The collection used to store the children

addFromClause

public AbstractFromClause addFromClause()
Manually adds the FROM clause to this SELECT statement.
Returns:
The new FROM clause

addOrderedChildrenTo

void addOrderedChildrenTo(java.util.List<StringExpression> children)
Adds the StringExpressions representing this Expression.
Overrides:
addOrderedChildrenTo in class AbstractExpression
Parameters:
children - The list used to store the string representation of this Expression

addSelectClause

public final SelectClause addSelectClause()
Sets the query statement to be a select clause.
Returns:
This expression's select clause

addWhereClause

final WhereClause addWhereClause()
Manually adds an empty WHERE clause.
Returns:
The WhereClause

buildFromClause

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

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 AbstractSelectClause 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 is defined.
Returns:
true if the query that got parsed had the FROM clause

hasGroupByClause

public final boolean hasGroupByClause()
Determines whether the GROUP BY clause is defined.
Returns:
true if the query that got parsed had the GROUP BY clause

hasHavingClause

public final boolean hasHavingClause()
Determines whether the HAVING clause is defined.
Returns:
true if the query that got parsed had the HAVING clause

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

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

boolean shouldManageSpaceAfterClause()
Determines whether
Returns:

toParsedText

void toParsedText(java.lang.StringBuilder writer,
                  boolean includeVirtual)
Generates a string representation of this Expression.
Specified by:
toParsedText in class AbstractExpression
Parameters:
writer - The buffer used to append this Expression's string representation
includeVirtual - Determines whether to include any characters that are considered virtual, i.e. that was parsed when the query is incomplete and is needed for functionality like content assist

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.