EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql.model.query
Class FromClauseStateObject

java.lang.Object
  extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
      extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractListHolderStateObject<VariableDeclarationStateObject>
          extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractFromClauseStateObject
              extended by org.eclipse.persistence.jpa.jpql.model.query.FromClauseStateObject
All Implemented Interfaces:
DeclarationStateObject, ListHolderStateObject<VariableDeclarationStateObject>, StateObject

public class FromClauseStateObject
extends AbstractFromClauseStateObject

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 (,).

BNF: from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*

Version:
2.4
See Also:
CollectionMemberDeclarationStateObject, IdentificationVariableDeclarationStateObject, JoinStateObject, SelectStatementStateObject, FromClause
Author:
Pascal Filion
Since:
2.4

Field Summary
 
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractFromClauseStateObject
VARIABLE_DECLARATIONS_LIST
 
Constructor Summary
FromClauseStateObject(SelectStatementStateObject parent)
          Creates a new FromClauseStateObject.
 
Method Summary
 void accept(StateObjectVisitor visitor)
          Visits this StateObject by the given visitor.
protected  java.lang.String declarationBNF()
          Returns the BNF of the declaration part of this clause.
 IManagedType findManagedType(StateObject stateObject)
          Returns the IManagedType for the given identification variable.
 FromClause getExpression()
          Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.
 SelectStatementStateObject getParent()
          Returns the parent of this StateObject.
 void setExpression(FromClause expression)
          Keeps a reference of the parsed object object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query into StateObjects.
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractFromClauseStateObject
addCollectionDeclaration, addCollectionDeclaration, addProblems, addRangeDeclaration, addRangeDeclaration, addRangeDeclaration, declarations, findIdentificationVariable, getDeclaration, getManagedType, identificationVariables, isEquivalent, listName, parse, toTextInternal
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractListHolderStateObject
addChildren, addItem, addItems, addListChangeListener, areChildrenEquivalent, canMoveDown, canMoveUp, getItem, hasItems, initialize, items, itemsSize, moveDown, moveUp, removeItem, removeItems, removeListChangeListener, toStringItems
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
acceptUnknownVisitor, acceptUnknownVisitor, addPropertyChangeListener, areEquivalent, buildProblem, buildProblem, buildStateObject, buildStateObjects, checkParent, children, decorate, equals, firePropertyChanged, getChangeSupport, getDecorator, getGrammar, getManagedTypeProvider, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.persistence.jpa.jpql.model.query.StateObject
addPropertyChangeListener, children, decorate, getDecorator, getGrammar, getManagedTypeProvider, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toText
 

Constructor Detail

FromClauseStateObject

public FromClauseStateObject(SelectStatementStateObject parent)
Creates a new FromClauseStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
Throws:
java.lang.NullPointerException - The given parent cannot be null
Method Detail

accept

public void accept(StateObjectVisitor visitor)
Visits this StateObject by the given visitor.

Parameters:
visitor - The visitor to visit this object

declarationBNF

protected java.lang.String declarationBNF()
Returns the BNF of the declaration part of this clause.

Specified by:
declarationBNF in class AbstractFromClauseStateObject
Returns:
The BNF of the declaration part of this clause

findManagedType

public IManagedType findManagedType(StateObject stateObject)
Returns the IManagedType for the given identification variable. If the declaration is for a subquery and there is no managed type associated with the identification then the search will traverse up the query hierarchy.

SELECT e FROM Department d JOIN KEY(d.employees).addresses a
In the above query, the managed type associated with the identification variable:

Parameters:
stateObject - The StateObject that should be an simple identification variable or an encapsulated identification variable with the identifier KEY or VALUE
Returns:
The IManagedType representing the domain object declared by the given identification variable
See Also:
DeclarationStateObject.getManagedType(StateObject)

getExpression

public FromClause getExpression()
Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.

Specified by:
getExpression in interface StateObject
Overrides:
getExpression in class AbstractFromClauseStateObject
Returns:
The parsed object when a JPQL query is parsed and converted into a StateObject or null when the JPQL query is manually created (i.e. not from a string)

getParent

public SelectStatementStateObject getParent()
Returns the parent of this StateObject.

Specified by:
getParent in interface StateObject
Overrides:
getParent in class AbstractFromClauseStateObject
Returns:
Returns the parent of this StateObject, which is null only when this is the root of the hierarchy

setExpression

public void setExpression(FromClause expression)
Keeps a reference of the parsed object object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query into StateObjects.

Parameters:
expression - The parsed object representing a FROM expression

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference