public abstract class AbstractSelectStatement extends AbstractExpression
SELECT statement is called a query, and a query nested within
another SQL statement is called a subquery.SelectStatement,
SimpleSelectStatementCOMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCOREABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FIRST, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LAST, 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_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE| Modifier | Constructor and Description |
|---|---|
protected |
AbstractSelectStatement(AbstractExpression parent)
Creates a new
AbstractSelectStatement. |
| Modifier and Type | Method and Description |
|---|---|
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
Expression. |
protected void |
addChildrenTo(Collection<Expression> children)
Adds the children of this
AbstractExpression to the given collection. |
protected void |
addOrderedChildrenTo(List<Expression> children)
Adds the children of this
AbstractExpression to the given list. |
protected abstract AbstractFromClause |
buildFromClause()
Creates the expression representing the from clause of this select statement.
|
protected abstract AbstractSelectClause |
buildSelectClause()
Creates the expression representing the select clause of this select statement.
|
JPQLQueryBNF |
findQueryBNF(Expression expression)
Retrieves the
JPQLQueryBNF that represents the fragment of this Expression
that was used when parsing the given Expression. |
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. |
Expression |
getSelectClause()
Returns the
AbstractSelectClause representing the SELECT clause. |
Expression |
getWhereClause()
Returns the
Expression representing the WHERE clause. |
boolean |
hasFromClause()
Determines whether the FROM clause was parsed or not.
|
boolean |
hasGroupByClause()
Determines whether the GROUP BY clause was parsed or not.
|
boolean |
hasHavingClause()
Determines whether the HAVING clause was parsed or not.
|
boolean |
hasSelectClause()
Determines whether the SELECT clause was parsed or not.
|
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.
|
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given
WordParser. |
protected boolean |
shouldManageSpaceAfterClause()
Determines whether the whitespace following the
HAVING clause should be
managed by this expression or not. |
protected void |
toParsedText(StringBuilder writer,
boolean actual)
Generates a string representation of this
Expression, including its children,
if it has any. |
acceptUnknownVisitor, acceptUnknownVisitor, buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, calculatePosition, children, findFallBackExpressionFactory, getExpressionFactory, getExpressionRegistry, getGrammar, getIdentifierVersion, getJPAVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, getText, handleAggregate, handleCollection, isAncestor, isIdentifier, isNull, isParsingComplete, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, getQueryBNFprotected AbstractSelectStatement(AbstractExpression parent)
AbstractSelectStatement.parent - The parent of this expressionpublic void acceptChildren(ExpressionVisitor visitor)
Expression. This method can be used to optimize traversing
the children since a new list is not created every time Expression.children() is called.
This does not traverse the Expression sub-hierarchy, use a subclass of
AbstractTraverseChildrenVisitor in order to traverse the entire sub-hierarchy.
visitor - The visitor to visit the children of this object.protected void addChildrenTo(Collection<Expression> children)
AbstractExpression to the given collection.addChildrenTo in class AbstractExpressionchildren - The collection used to store the childrenprotected void addOrderedChildrenTo(List<Expression> children)
AbstractExpression to the given list.addOrderedChildrenTo in class AbstractExpressionchildren - The list used to store the string representation of this AbstractExpressionprotected abstract AbstractFromClause buildFromClause()
null can't be returnedprotected abstract AbstractSelectClause buildSelectClause()
null can't be returnedpublic JPQLQueryBNF findQueryBNF(Expression expression)
JPQLQueryBNF that represents the fragment of this Expression
that was used when parsing the given Expression.findQueryBNF in interface ExpressionfindQueryBNF in class AbstractExpressionexpression - The Expression that is a descendant of this oneJPQLQueryBNF that was used to parse the given expressionpublic final Expression getFromClause()
Expression representing the FROM clause.public final Expression getGroupByClause()
Expression representing the GROUP BY clause.public final Expression getHavingClause()
Expression representing the HAVING clause.public final Expression getSelectClause()
AbstractSelectClause representing the SELECT clause.public final Expression getWhereClause()
Expression representing the WHERE clause.public final boolean hasFromClause()
true if the query that got parsed had the FROM clausepublic final boolean hasGroupByClause()
true if the query that got parsed had the GROUP BY clausepublic final boolean hasHavingClause()
true if the query that got parsed had the HAVING clausepublic final boolean hasSelectClause()
true if the query that got parsed had the HAVING clausepublic final boolean hasSpaceAfterFrom()
true if there was a whitespace after the FROM clause and owned by
this expression; false otherwisepublic final boolean hasSpaceAfterGroupBy()
true if there was a whitespace after the GROUP BY clause and owned
by this expression; false otherwisepublic final boolean hasSpaceAfterSelect()
true if there was a whitespace after the SELECT clause and owned
by this expression; false otherwisepublic final boolean hasSpaceAfterWhere()
true if there was a whitespace after the WHERE clause and owned by
this expression; false otherwisepublic final boolean hasWhereClause()
true if the query that got parsed had the WHERE clauseprotected void parse(WordParser wordParser, boolean tolerant)
WordParser.parse in class AbstractExpressionwordParser - The text to parse based on the current position of the cursortolerant - Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriesprotected boolean shouldManageSpaceAfterClause()
HAVING clause should be
managed by this expression or not.true by default to keep the whitespace part of this expression;
false to let the parent handle itprotected void toParsedText(StringBuilder writer, boolean actual)
Expression, including its children,
if it has any.toParsedText in class AbstractExpressionwriter - The buffer used to append this Expression's string representationactual - 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 identifiersCopyright © 2007–2021 Eclipse.org - EclipseLink Project. All rights reserved.