Class Declaration
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.resolver.Declaration
-
- All Implemented Interfaces:
JPQLQueryDeclaration
- Direct Known Subclasses:
AbstractRangeDeclaration
,CollectionDeclaration
,SubqueryDeclaration
,TableDeclaration
,UnknownDeclaration
public abstract class Declaration extends java.lang.Object implements JPQLQueryDeclaration
The abstract definition ofJPQLQueryDeclaration
.- Version:
- 2.5
- Author:
- Pascal Filion
- Since:
- 2.5
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.persistence.jpa.jpql.JPQLQueryDeclaration
JPQLQueryDeclaration.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected Expression
baseExpression
Either the range variable declaration if this is a range declaration otherwise the collection-valued path expression when this is a collection member declaration.protected Expression
declarationExpression
The declaration expression, which is either anIdentificationVariableDeclaration
or aCollectionMemberDeclaration
when part of a FROM clause, otherwise it's either theDeleteClause
or theUpdateClause
.protected IdentificationVariable
identificationVariable
The identification variable used to declare the "root" object.protected java.lang.String
rootPath
The "root" object for objects which may not be reachable by navigation, it is either the abstract schema name (entity name), a derived path expression (which is only defined in a subquery) ornull
if thisDeclaration
is a collection member declaration.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Declaration()
Creates a newDeclaration
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
getBaseExpression()
Returns the range variable declaration if this is a range declaration otherwise the collection-valued path expression when this is a collection member declaration.Expression
getDeclarationExpression()
Returns the declaration expression, which is either anIdentificationVariableDeclaration
or aCollectionMemberDeclaration
when part of a FROM clause, otherwise it's either theDeleteClause
or theUpdateClause
.IdentificationVariable
getIdentificationVariable()
Returns theIdentificationVariable
used to declare the "root" object.java.util.List<Join>
getJoins()
Returns theJOIN
expressions defined with this declaration, if supported.java.lang.String
getRootPath()
Returns the "root" object for objects which may not be reachable by navigation, it is either the abstract schema name (entity name), a derived path expression (which is only defined in a subquery) ornull
if thisDeclaration
is a collection member declaration.java.lang.String
getVariableName()
Returns the identification variable name that is defining either the abstract schema name or the collection-valued path expressionboolean
hasJoins()
Determines whether the declaration contains JOIN expressions.java.lang.String
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.jpql.JPQLQueryDeclaration
getType
-
-
-
-
Field Detail
-
baseExpression
protected Expression baseExpression
Either the range variable declaration if this is a range declaration otherwise the collection-valued path expression when this is a collection member declaration.
-
declarationExpression
protected Expression declarationExpression
The declaration expression, which is either anIdentificationVariableDeclaration
or aCollectionMemberDeclaration
when part of a FROM clause, otherwise it's either theDeleteClause
or theUpdateClause
.
-
identificationVariable
protected IdentificationVariable identificationVariable
The identification variable used to declare the "root" object.
-
rootPath
protected java.lang.String rootPath
The "root" object for objects which may not be reachable by navigation, it is either the abstract schema name (entity name), a derived path expression (which is only defined in a subquery) ornull
if thisDeclaration
is a collection member declaration.
-
-
Method Detail
-
getBaseExpression
public Expression getBaseExpression()
Returns the range variable declaration if this is a range declaration otherwise the collection-valued path expression when this is a collection member declaration.- Specified by:
getBaseExpression
in interfaceJPQLQueryDeclaration
- Returns:
- Either the range variable declaration or the collection-valued path expression
-
getDeclarationExpression
public Expression getDeclarationExpression()
Returns the declaration expression, which is either anIdentificationVariableDeclaration
or aCollectionMemberDeclaration
when part of a FROM clause, otherwise it's either theDeleteClause
or theUpdateClause
.- Specified by:
getDeclarationExpression
in interfaceJPQLQueryDeclaration
- Returns:
- The root of the declaration expression
-
getIdentificationVariable
public IdentificationVariable getIdentificationVariable()
Returns theIdentificationVariable
used to declare the "root" object.- Returns:
- The alias for the "root" object
-
getJoins
public java.util.List<Join> getJoins()
Returns theJOIN
expressions defined with this declaration, if supported. The list contains theJOIN
expressions in ordered they were declared.- Specified by:
getJoins
in interfaceJPQLQueryDeclaration
- Returns:
- The JOIN expressions defined with this declaration or an empty list if this declaration does not support it
-
getRootPath
public java.lang.String getRootPath()
Returns the "root" object for objects which may not be reachable by navigation, it is either the abstract schema name (entity name), a derived path expression (which is only defined in a subquery) ornull
if thisDeclaration
is a collection member declaration.- Returns:
- The "root" object for objects which may not be reachable by navigation or
null
if thisDeclaration
is a collection member declaration
-
getVariableName
public java.lang.String getVariableName()
Returns the identification variable name that is defining either the abstract schema name or the collection-valued path expression- Specified by:
getVariableName
in interfaceJPQLQueryDeclaration
- Returns:
- The identification variable or an empty string if none was defined
-
hasJoins
public boolean hasJoins()
Determines whether the declaration contains JOIN expressions. This can betrue
only whenJPQLQueryDeclaration.Type.isRange()
returnstrue
. A collection member declaration does not have JOIN expressions.- Specified by:
hasJoins
in interfaceJPQLQueryDeclaration
- Returns:
true
if at least one JOIN expression was parsed; otherwisefalse
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-