openjava.ptree
Class QueryExpression

java.lang.Object
  |
  +--openjava.ptree.ParseTreeObject
        |
        +--openjava.ptree.NonLeaf
              |
              +--openjava.ptree.SetExpression
                    |
                    +--openjava.ptree.QueryExpression
All Implemented Interfaces:
Cloneable, Expression, ParseTree, VariableInitializer

public class QueryExpression
extends SetExpression

QueryExpression is a Saffron extension to Java syntax which represents a SQL-like relational expression.

The general form is

select ... group by ... from ... where ... order by ...

When used as an expression, a QueryExpression evaluates to an array, but you can also use it inside a for (variable in select ...) construct. When used in this way, it is evaluated as an iterator.

A null groupList means don't aggregate, whereas an empty groupList means group by the 0-tuple {}, which produces a single row even if there are no input rows.


Field Summary
(package private)  boolean boxed
           
 
Fields inherited from class openjava.ptree.SetExpression
 
Fields inherited from class openjava.ptree.NonLeaf
 
Fields inherited from class openjava.ptree.ParseTreeObject
debugFlag, debugLevel, LN, out, writerStack
 
Constructor Summary
QueryExpression(ExpressionList selectList, boolean boxed, ExpressionList groupList, Expression from, Expression where, ExpressionList sortList)
           
 
Method Summary
 void accept(ParseTreeVisitor v)
          Accepts a ParseTreeVisitor object as the role of a Visitor in the Visitor pattern, as the role of an Element in the Visitor pattern.
 OJClass deriveRowType(Environment env)
           
 Expression getFrom()
           
 ExpressionList getGroupList()
           
 ExpressionList getSelectList()
           
 ExpressionList getSort()
           
 Expression getWhere()
           
 boolean isBoxed()
           
 
Methods inherited from class openjava.ptree.SetExpression
flatten, flatten, getRowType, getType
 
Methods inherited from class openjava.ptree.NonLeaf
childrenAccept, childrenAreEqual, elementAt, equals, getComment, getContents, getLength, makeRecursiveCopy, replaceChildWith, set, set, set, set, set, set, set, set, set, setComment, setElementAt, writeCode
 
Methods inherited from class openjava.ptree.ParseTreeObject
clone, eq, eq, equal, flushPrintWriter, getDebugFlag, getNest, getObjectID, getParent, getPrintWriter, getTab, hashCode, lastObjectID, makeCopy, popNest, popPrintWriter, pushNest, pushPrintWriter, replace, setDebugFlag, setDebugLevel, setNest, setParent, setPrintStream, setTab, toFlattenString, toString, writeDebug, writeDebugL, writeDebugLln, writeDebugln, writeDebugLR, writeDebugR, writeDebugRln, writeTab
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface openjava.ptree.ParseTree
childrenAccept, eq, equals, getObjectID, makeCopy, makeRecursiveCopy, replace, toFlattenString, toString, writeCode
 

Field Detail

boxed

boolean boxed
Constructor Detail

QueryExpression

public QueryExpression(ExpressionList selectList,
                       boolean boxed,
                       ExpressionList groupList,
                       Expression from,
                       Expression where,
                       ExpressionList sortList)
Method Detail

getSelectList

public ExpressionList getSelectList()

isBoxed

public boolean isBoxed()

getGroupList

public ExpressionList getGroupList()

getFrom

public Expression getFrom()

getWhere

public Expression getWhere()

getSort

public ExpressionList getSort()

accept

public void accept(ParseTreeVisitor v)
            throws ParseTreeException
Description copied from interface: ParseTree
Accepts a ParseTreeVisitor object as the role of a Visitor in the Visitor pattern, as the role of an Element in the Visitor pattern.

This invoke an appropriate visit() method on the accepted visitor.

Specified by:
accept in interface ParseTree
Specified by:
accept in class ParseTreeObject
Parameters:
v - a visitor
ParseTreeException

deriveRowType

public OJClass deriveRowType(Environment env)
                      throws Exception
Specified by:
deriveRowType in class SetExpression
Exception

SourceForge.net_Logo