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 AbstractSelectClause

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.AbstractSelectClause

All Implemented Interfaces:
Expression
Direct Known Subclasses:
SelectClause, SimpleSelectClause

public abstract class AbstractSelectClause
extends AbstractExpression

The SELECT clause denotes the query result. More than one value may be returned from the SELECT clause of a query. The SELECT clause may contain one or more of the following elements: a single range variable or identification variable that ranges over an entity abstract schema type, a single-valued path expression, an aggregate select expression, a constructor expression.

The DISTINCT keyword is used to specify that duplicate values must be eliminated from the query result. If DISTINCT is not specified, duplicate values are not eliminated. Stand-alone identification variables in the SELECT clause may optionally be qualified by the OBJECT operator. The SELECT clause must not use the OBJECT operator to qualify path expressions.

Since:
2.3
Version:
2.3
Author:
Pascal Filion
See Also:
SelectClause, SimpleSelectClause

Field Summary
private  boolean hasDistinct
          Determines whether the identifier DISTINCT was parsed.
private  boolean hasSpaceAfterDistinct
          Determines whether a whitespace was parsed after the DISTINCT.
private  boolean hasSpaceAfterSelect
          Determines whether a whitespace was parsed after the SELECT.
private  AbstractExpression selectExpression
          The actual expression of this select clause.

 

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
AbstractSelectClause(AbstractExpression parent)
          Creates a new SelectClause.

 

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.
(package private)  void addOrderedChildrenTo(java.util.List<StringExpression> children)
          Adds the StringExpressions representing this Expression.
 Expression getSelectExpression()
          Returns the Expression representing the select items.
 boolean hasDistinct()
          Determines whether the identifier DISTINCT was parsed or not.
 boolean hasSelectExpression()
          Determines whether the list of select items was parsed.
 boolean hasSpaceAfterDistinct()
          Determines whether a whitespace was parsed after DISTINCT.
 boolean hasSpaceAfterSelect()
          Determines whether a whitespace was parsed after SELECT.
(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) abstract  JPQLQueryBNF selectItemBNF()
          Returns the BNF for the list of select items to parse.
(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

hasDistinct

private boolean hasDistinct
Determines whether the identifier DISTINCT was parsed.

hasSpaceAfterDistinct

private boolean hasSpaceAfterDistinct
Determines whether a whitespace was parsed after the DISTINCT.

hasSpaceAfterSelect

private boolean hasSpaceAfterSelect
Determines whether a whitespace was parsed after the SELECT.

selectExpression

private AbstractExpression selectExpression
The actual expression of this select clause.

Constructor Detail

AbstractSelectClause

AbstractSelectClause(AbstractExpression parent)
Creates a new SelectClause.
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

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

getSelectExpression

public Expression getSelectExpression()
Returns the Expression representing the select items.
Returns:
The expression representing the select items

hasDistinct

public boolean hasDistinct()
Determines whether the identifier DISTINCT was parsed or not.
Returns:
true if the identifier DISTINCT was parsed; false otherwise

hasSelectExpression

public boolean hasSelectExpression()
Determines whether the list of select items was parsed.
Returns:
true the list of select items was parsed; false otherwise

hasSpaceAfterDistinct

public boolean hasSpaceAfterDistinct()
Determines whether a whitespace was parsed after DISTINCT.
Returns:
true if there was a whitespace after DISTINCT; false otherwise

hasSpaceAfterSelect

public boolean hasSpaceAfterSelect()
Determines whether a whitespace was parsed after SELECT.
Returns:
true if there was a whitespace after SELECT; false otherwise

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

selectItemBNF

abstract JPQLQueryBNF selectItemBNF()
Returns the BNF for the list of select items to parse.
Returns:
The BNF for the list of select items to parse

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.