Class FromClauseStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractListHolderStateObject<VariableDeclarationStateObject>
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractFromClauseStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.FromClauseStateObject
-
- All Implemented Interfaces:
DeclarationStateObject,ListHolderStateObject<VariableDeclarationStateObject>,StateObject
public class FromClauseStateObject extends AbstractFromClauseStateObject
TheFROMclause of a query defines the domain of the query by declaring identification variables. An identification variable is an identifier declared in theFROMclause 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. TheFROMclause 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.tools.model.query.AbstractFromClauseStateObject
VARIABLE_DECLARATIONS_LIST
-
-
Constructor Summary
Constructors Constructor Description FromClauseStateObject(SelectStatementStateObject parent)Creates a newFromClauseStateObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.protected java.lang.StringdeclarationBNF()Returns the BNF of the declaration part of this clause.IManagedTypefindManagedType(StateObject stateObject)Returns theIManagedTypefor the given identification variable.FromClausegetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.SelectStatementStateObjectgetParent()Returns the parent of thisStateObject.voidsetExpression(FromClause expression)Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.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.tools.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.tools.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.tools.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 newFromClauseStateObject.- Parameters:
parent- The parent of this state object, which cannot benull- Throws:
java.lang.NullPointerException- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
declarationBNF
protected java.lang.String declarationBNF()
Returns the BNF of the declaration part of this clause.- Specified by:
declarationBNFin classAbstractFromClauseStateObject- Returns:
- The BNF of the declaration part of this clause
-
findManagedType
public IManagedType findManagedType(StateObject stateObject)
Returns theIManagedTypefor 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.
In the above query, the managed type associated with the identification variable:SELECT e FROM Department d JOIN KEY(d.employees).addresses a- d is "Department"
- a is "Address"
- Parameters:
stateObject- TheStateObjectthat should be an simple identification variable or an encapsulated identification variable with the identifierKEYorVALUE- Returns:
- The
IManagedTyperepresenting the domain object declared by the given identification variable - See Also:
DeclarationStateObject.getManagedType(StateObject)
-
getExpression
public FromClause getExpression()
Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classAbstractFromClauseStateObject- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObjectornullwhen the JPQL query is manually created (i.e. not from a string)
-
getParent
public SelectStatementStateObject getParent()
Returns the parent of thisStateObject.- Specified by:
getParentin interfaceStateObject- Overrides:
getParentin classAbstractFromClauseStateObject- Returns:
- Returns the parent of this
StateObject, which isnullonly when this is the root of the hierarchy
-
setExpression
public void setExpression(FromClause expression)
Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.- Parameters:
expression- Theparsed objectrepresenting aFROMexpression
-
-