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 AbstractFromClause

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

All Implemented Interfaces:
Expression
Direct Known Subclasses:
FromClause, SimpleFromClause

public abstract class AbstractFromClause
extends AbstractExpression

The FROM clause of a query defines the domain of the query by declaring identification variables. An identification variable is an identifier declared in the FROM clause of a query. The domain of the query may be constrained by path expressions. Identification variables designate instances of a particular entity abstract schema type. The FROM clause can contain multiple identification variable declarations separated by a comma (,).

Since:
2.3
Version:
2.3
Author:
Pascal Filion
See Also:
FromClause, SimpleFromClause

Field Summary
private  AbstractExpression declaration
          The declaration portion of this FROM clause.
private  boolean hasSpace
          Determines whether a whitespace was parsed after the identifier FROM.

 

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

 

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.
 CollectionExpression buildCollectionExpression()
          Creates a new CollectionExpression that will wrap the single declaration.
abstract  JPQLQueryBNF declarationBNF()
          Returns the BNF of the declaration part of this clause.
 Expression getDeclaration()
          Returns the Expression that represents the declaration of this clause.
 boolean hasDeclaration()
          Determines whether the declaration of this clause was parsed.
 boolean hasSpaceAfterFrom()
          Determines whether a whitespace was parsed after the FROM identifier.
(package private)  void parse(WordParser wordParser, boolean tolerant)
          Parses the query by starting at the current position, which is part of the given WordParser.
private  AbstractExpression parseDeclaration(WordParser wordParser)
          Parses the declaration in the most optimized way possible.
 void setIdentificationVariableDeclaration(java.lang.String abstractSchemaName, java.lang.String identificationVariable)
          Manually sets the identification variable declaration.
(package private)  boolean shouldParseWithFactoryFirst()
          TODO
(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, 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

declaration

private AbstractExpression declaration
The declaration portion of this FROM clause.

hasSpace

private boolean hasSpace
Determines whether a whitespace was parsed after the identifier FROM.

Constructor Detail

AbstractFromClause

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

final 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

final 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

buildCollectionExpression

public final CollectionExpression buildCollectionExpression()
Creates a new CollectionExpression that will wrap the single declaration.
Returns:
The single declaration represented by a temporary collection

declarationBNF

public abstract JPQLQueryBNF declarationBNF()
Returns the BNF of the declaration part of this clause.
Returns:
The BNF of the declaration part of this clause

getDeclaration

public final Expression getDeclaration()
Returns the Expression that represents the declaration of this clause.
Returns:
The expression that was parsed representing the declaration

hasDeclaration

public final boolean hasDeclaration()
Determines whether the declaration of this clause was parsed.
Returns:
true if the declaration of this clause was parsed; false if it was not parsed

hasSpaceAfterFrom

public final boolean hasSpaceAfterFrom()
Determines whether a whitespace was parsed after the FROM identifier.
Returns:
true if a whitespace was parsed after the FROM identifier; false otherwise

parse

final 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

parseDeclaration

private AbstractExpression parseDeclaration(WordParser wordParser)
Parses the declaration in the most optimized way possible.
Parameters:
wordParser - The text to parse based on the current position of the cursor

setIdentificationVariableDeclaration

public final void setIdentificationVariableDeclaration(java.lang.String abstractSchemaName,
                                                       java.lang.String identificationVariable)
Manually sets the identification variable declaration. Which only supports adding a single declaration.
Parameters:
abstractSchemaName - The abstract schema name to be mapped to the given variable
identificationVariable - The identification variable mapping the given schema name

shouldParseWithFactoryFirst

boolean shouldParseWithFactoryFirst()
TODO
Overrides:
shouldParseWithFactoryFirst in class AbstractExpression
Returns:

toParsedText

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