|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--openjava.ptree.util.ParseTreeVisitor
|
+--openjava.ptree.util.EvaluationShuttle
|
+--openjava.ptree.util.ScopeHandler
|
+--openjava.ptree.util.QueryExpander
QueryExpander is a ParseTreeVisitor which, as it passes
over a parse tree, converts QueryExpressions into regular java
constructs.
The non-abstract derived class OJQueryExpander does this by converting the
expression to a tree of SaffronRel nodes, and
using an optimizer (SaffronPlanner) to choose
the optimal java implementation.
| Field Summary |
| Fields inherited from class openjava.ptree.util.ScopeHandler |
|
| Fields inherited from class openjava.ptree.util.EvaluationShuttle |
|
| Constructor Summary | |
QueryExpander(Environment env)
|
|
| Method Summary | |
Expression |
evaluateDown(BinaryExpression p)
Expands in union, minus, and
intersect. |
Expression |
evaluateDown(CastExpression p)
|
Statement |
evaluateDown(ForStatement p)
Expand 'for (< |
Expression |
evaluateDown(InsertExpression p)
|
Expression |
evaluateDown(MethodCall p)
Expands connection.contentsAsArray("qualifier","name"),
which was probably generated by expanding connection.name. |
Expression |
evaluateDown(QueryExpression p)
|
Expression |
evaluateDown(UnaryExpression p)
Expands exists. |
protected abstract Expression |
expandExpression(Expression p)
Converts an Expression into a java expression which returns an
array. |
protected abstract Statement |
expandForIn(Variable var,
Expression p,
StatementList body)
Converts an Expression of the form for (variable in
exp) { body } into a regular java Statement. |
boolean |
isRelational(Expression p)
|
| Methods inherited from class openjava.ptree.util.ScopeHandler |
evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateDown, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, evaluateUp, pop, push, pushClosedEnvironment |
| Methods inherited from class openjava.ptree.util.ParseTreeVisitor |
visit, visit, visit, visit, visit, visit, visit, visit, visit |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public QueryExpander(Environment env)
| Method Detail |
public Expression evaluateDown(QueryExpression p)
throws ParseTreeException
evaluateDown in class ScopeHandlerParseTreeException
public Expression evaluateDown(InsertExpression p)
throws ParseTreeException
evaluateDown in class EvaluationShuttleParseTreeExceptionpublic boolean isRelational(Expression p)
public Expression evaluateDown(CastExpression p)
throws ParseTreeException
evaluateDown in class EvaluationShuttleParseTreeException
public Statement evaluateDown(ForStatement p)
throws ParseTreeException
evaluateDown in class ScopeHandlerParseTreeException
public Expression evaluateDown(BinaryExpression p)
throws ParseTreeException
in union, minus, and
intersect.
evaluateDown in class EvaluationShuttleParseTreeException
public Expression evaluateDown(UnaryExpression p)
throws ParseTreeException
exists.
evaluateDown in class EvaluationShuttleParseTreeException
public Expression evaluateDown(MethodCall p)
throws ParseTreeException
connection.contentsAsArray("qualifier","name"),
which was probably generated by expanding connection.name.
evaluateDown in class EvaluationShuttleParseTreeExceptionprotected abstract Expression expandExpression(Expression p)
Expression into a java expression which returns an
array.
protected abstract Statement expandForIn(Variable var,
Expression p,
StatementList body)
Expression of the form for (variable in
exp) { body } into a regular java Statement.
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||