|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jpox.store.query.QueryCompiler
org.jpox.store.rdbms.query.JavaQueryCompiler
org.jpox.store.rdbms.query.JDOQLQueryCompiler
public class JDOQLQueryCompiler
Compiler of JDOQL queries for RDBMS datastores. Takes the input query and provides two forms of compilation :-
During either compilation step other parts of the query are resolved and are available for update by accessors.
| Field Summary | |
|---|---|
protected boolean |
explicitParameters
Flag for whether we have explicit parameters. |
protected boolean |
explicitVariables
Flag for whether we have explicit variables. |
protected int |
implicitParamNo
State variable for the current implicit parameter number. |
protected boolean |
subqueryAliasSet
Flag for whether we have set the alias of the subquery. |
protected java.util.Map |
subqueryParameters
Parameter map when treating as a subquery. |
| Fields inherited from class org.jpox.store.rdbms.query.JavaQueryCompiler |
|---|
candidateCmd, candidates, distinct, expressionsByVariableName, parentExpr, qs, rangeFromIncl, rangeToExcl, resultClass, resultMetaData, subqueryCandidateExpr, subqueryCandidateExprRootAliasInfo |
| Fields inherited from class org.jpox.store.query.QueryCompiler |
|---|
candidateAlias, candidateClass, COMPILE_EXECUTION, COMPILE_EXPLICIT_PARAMETERS, COMPILE_EXPLICIT_VARIABLES, COMPILE_SYNTAX, executionCompile, imports, language, LOCALISER, p, parameterNames, parameters, parameterTypesByName, query, variableNames, variableTypesByName |
| Constructor Summary | |
|---|---|
JDOQLQueryCompiler(org.jpox.store.query.AbstractJDOQLQuery query,
org.jpox.util.Imports imports,
java.util.Map parameters)
Constructor. |
|
| Method Summary | |
|---|---|
java.lang.Object |
compile(int type)
Method to compile the query. |
protected void |
compileCandidates()
Convenience method to process the candidates for this query. |
protected org.jpox.store.mapped.expression.ScalarExpression |
compileExpression()
Principal method for compiling an expression. |
protected org.jpox.store.mapped.expression.ScalarExpression |
compileExpressionFromString(java.lang.String str)
Convenience method to parse an expression string into its query expression. |
protected org.jpox.store.mapped.expression.ScalarExpression |
compileNamedImplicitParameter(java.lang.String id)
Method to compile a named implicit parameter into an expression. |
protected org.jpox.store.mapped.expression.ScalarExpression |
compilePrimary()
this compiles a primary. |
protected org.jpox.store.mapped.expression.ScalarExpression |
compileSubqueryVariable(java.lang.String id)
Method to compile a subquery, replacing the specified variable with a SubqueryExpression. |
protected java.lang.Class |
getClassForSubqueryCandidateExpression()
Convenience method to process the subquery " |
protected org.jpox.store.mapped.expression.ScalarExpression |
getExpressionForSubqueryParentParameter(java.lang.String val)
Convenience method to obtain an expression for the value of a parameter in a subquery where it relates back to the parent query. |
protected void |
performCompile(org.jpox.store.mapped.expression.QueryExpression qs)
Perform the actual compilation of the query. |
void |
processAsSubquery(org.jpox.store.mapped.expression.QueryExpression parentExpr,
java.lang.String candidateExpression,
java.util.Map paramMap)
Method to set the parent expression that this is a subquery of. |
| Methods inherited from class org.jpox.store.query.QueryCompiler |
|---|
compileExplicitParameters, compileExplicitVariables, getCandidateAlias, getCandidateClass, getParameterNames, getParameterTypesByName |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected boolean explicitParameters
protected boolean explicitVariables
protected int implicitParamNo
protected java.util.Map subqueryParameters
protected boolean subqueryAliasSet
| Constructor Detail |
|---|
public JDOQLQueryCompiler(org.jpox.store.query.AbstractJDOQLQuery query,
org.jpox.util.Imports imports,
java.util.Map parameters)
query - JDOQL query to compileimports - Imports handler to use for class resolutionparameters - map of declared parameters in the query| Method Detail |
|---|
public void processAsSubquery(org.jpox.store.mapped.expression.QueryExpression parentExpr,
java.lang.String candidateExpression,
java.util.Map paramMap)
parentExpr - The parent expressionpublic java.lang.Object compile(int type)
compile in class JavaQueryCompilertype - Type of compilation
protected void performCompile(org.jpox.store.mapped.expression.QueryExpression qs)
performCompile in class JavaQueryCompilerqs - The QueryExpression to use during compilation (if required)protected void compileCandidates()
compileCandidates in class JavaQueryCompilerprotected java.lang.Class getClassForSubqueryCandidateExpression()
protected org.jpox.store.mapped.expression.ScalarExpression compileExpressionFromString(java.lang.String str)
compileExpressionFromString in class JavaQueryCompilerstr - The string
protected org.jpox.store.mapped.expression.ScalarExpression compileExpression()
compileExpression in class JavaQueryCompilerprotected org.jpox.store.mapped.expression.ScalarExpression compilePrimary()
compilePrimary in class JavaQueryCompilerprotected org.jpox.store.mapped.expression.ScalarExpression compileSubqueryVariable(java.lang.String id)
id - Variable name that the subquery replaces.
protected org.jpox.store.mapped.expression.ScalarExpression compileNamedImplicitParameter(java.lang.String id)
id - Identifier of the named parameter, starts with ":"
protected org.jpox.store.mapped.expression.ScalarExpression getExpressionForSubqueryParentParameter(java.lang.String val)
val - The value
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||