Resolver is responsible to visit the current query (which is either the top-level
query or a subquery) and gathers the information from the declaration clause. For a SELECT
or DELETE clause, the information will be retrieved from the FROM clause. For an
UDPATE clause, it will be retrieved from the unique identification range variable
declaration.
| Modifier and Type | Class and Description |
|---|---|
| protected class | |
| protected static class | |
| protected class | DeclarationResolver.RootObjectExpressionVisitor
This visitor takes care to support a subquery defined as a "root" object. |
| Modifier and Type | Field and Description |
|---|---|
| private List | declarations
The |
| private DeclarationResolver. | declarationVisitor
This visitor is responsible to visit the current query's declaration and populate this resolver with the list of declarations. |
| private DeclarationResolver. | qualifyRangeDeclarationVisitor
This visitor is responsible to convert the abstract schema name into a path expression. |
| private JPQLQueryContext | queryContext
The context used to query information about the query. |
| private Map | resolvers
Hides org. |
| private Map | resultVariables
The variables identifying the select expressions, if any was defined or an empty set if none were defined. |
| private DeclarationResolver. | rootObjectExpressionVisitor
This visitor resolves the "root" object represented by the given |
| Access | Constructor and Description |
|---|---|
| public | DeclarationResolver(DeclarationResolver
The parent resolver if this is used for a subquery or null if it's used for the
top-level query parent, JPQLQueryContext The context used to query information about the query queryContext)Creates a new |
| Modifier and Type | Method and Description |
|---|---|
| protected final void | addDeclaration(Declaration
The declaration)Declaration representing a single variable declarationAdds the given |
| public void | addRangeVariableDeclaration(String
The name of the entity to be accessible with the given variable name entityName, String The identification variable used to navigate to the entity variableName)Registers a range variable declaration that will be used when a JPQL fragment is parsed. |
| protected DeclarationResolver. | |
| protected DeclarationResolver. | |
| protected IType | buildType()
Overrides org. IType of the property handled by this Resolver.
|
| protected ITypeDeclaration | buildTypeDeclaration()
Implements abstract org. ITypeDeclaration of the property handled by this Resolver.
|
| protected void | |
| public void | convertUnqualifiedDeclaration(Declaration
The declaration, String Declaration that was parsed to range over an abstract schema
name but is actually ranging over a path expressionThe identification variable coming from the parent identification
variable declaration outerVariableName)Converts the given |
| public void | |
| public Declaration | Returns: TheDeclaration containing the information about the identification variable declarationThe name of the identification variable that is used to navigate a "root" object variableName)Retrieves the |
| public List | Returns: TheDeclarations of the current query that was parsedReturns the ordered list of |
| protected DeclarationResolver. | |
| public DeclarationResolver | getParent()
Overrides org. Resolver.
|
| public IQuery | getQuery()
Overrides org. |
| protected JPQLQueryContext | Returns: TheJPQLQueryContext holding onto the JPQL query and the cached informationReturns the |
| public Resolver | Returns: TheResolver mapped with the given identification variableThe identification variable that maps a variableName)ResolverRetrieves the |
| protected Resolver | Returns: TheResolver mapped with the given identification variableThe identification variable that maps a variableName)ResolverRetrieves the |
| public Set | Returns: The variables identifying the select expressions, if any was defined or an empty set if none were definedReturns the variables that got defined in the select expression. |
| public Map | Returns: The variables identifying the select expressions, if any was defined or an empty map if none were definedReturns the map of result variables that got used to define a select expression. |
| protected DeclarationResolver. | |
| public boolean | Returns: true if the query or subquery being traversed contains JOIN
expressions; false otherwiseDetermines whether the JPQL expression has JOIN expressions. |
| protected void | initialize(JPQLQueryContext
The context used to query information about the query queryContext)Initializes this |
| public boolean | Returns: true if the given identification variable maps a collection-valued field
defined in a JOIN or IN expression; false otherwiseThe identification variable to check for what it maps variableName)Determines whether the given identification variable is defining a JOIN expression or
in a |
| protected boolean | Returns: true if the given identification variable maps a collection-valued field
defined in a JOIN or IN expression; false otherwiseThe identification variable to check for what it maps variableName)Determines whether the given identification variable is defining a JOIN expression or
in a |
| public boolean | Returns: true if the variable name is mapping an abstract schema name; false
if it's defined in a collection member declarationThe name of the variable to verify if it's defined in a range variable
declaration in the current query or any parent query variableName)Determines whether the given variable name is an identification variable name mapping an entity. |
| protected boolean | Returns: true if the variable name is mapping an abstract schema name; false
if it's defined in a collection member declarationThe name of the variable to verify if it's defined in a range variable
declaration in the current query or any parent query variableName)Determines whether the given variable name is an identification variable name mapping an entity. |
| public boolean | Returns: true if the given variable is defined as a result variable; false
otherwiseThe variable to check if it's a result variable variable)Determines if the given variable is a result variable. |
| public void | populate(Expression
The expression)Expression to visit in order to retrieve the information
contained in the given query's declarationVisits the current query (which is either the top-level query or a subquery) and gathers the information from the declaration clause. |
| protected DeclarationResolver. | |
| protected Resolver | resolveRootObject(Expression
The expression)Expression to visit, which represents the "root" object of a
declarationResolves the "root" object represented by the given |
| protected String |