org.basex.query.gflwor
Class GroupBy.Spec

java.lang.Object
  extended by org.basex.data.ExprInfo
      extended by org.basex.query.expr.Expr
          extended by org.basex.query.expr.ParseExpr
              extended by org.basex.query.expr.Single
                  extended by org.basex.query.gflwor.GroupBy.Spec
Enclosing class:
GroupBy

public static final class GroupBy.Spec
extends Single

Grouping spec.

Author:
BaseX Team 2005-12, BSD License, Leo Woerteler

Nested Class Summary
 
Nested classes/interfaces inherited from class org.basex.query.expr.Expr
Expr.Flag
 
Field Summary
 Collation coll
          Collation.
 boolean occluded
          Occlusion flag, true if another grouping variable shadows this one.
 Var var
          Grouping variable.
 
Fields inherited from class org.basex.query.expr.Single
expr
 
Fields inherited from class org.basex.query.expr.ParseExpr
info, size, type
 
Constructor Summary
GroupBy.Spec(InputInfo ii, Var v, Expr e, Collation cl)
          Constructor.
 
Method Summary
 boolean accept(ASTVisitor visitor)
          Traverses this expression, notifying the visitor of declared and used variables, and checking the tree for other recursive properties.
 Expr copy(QueryContext ctx, VarScope scp, IntObjMap<Var> vs)
          Copies an expression.
 int exprSize()
          Counts the number of expressions in this expression's sub-tree.
 Item item(QueryContext ctx, InputInfo ii)
          Evaluates the expression and returns the resulting item or a null reference, if the expression yields an empty sequence.
 void plan(FElem plan)
          Creates an expression tree.
 java.lang.String toString()
           
 
Methods inherited from class org.basex.query.expr.Single
checkUp, compile, count, has, inline, removable
 
Methods inherited from class org.basex.query.expr.ParseExpr
checkAdmin, checkAllUp, checkBinary, checkBln, checkColl, checkCreate, checkCtx, checkDbl, checkDBNode, checkEStr, checkEStr, checkFunc, checkItem, checkItr, checkItr, checkMap, checkNode, checkNode, checkNode, checkNoEmpty, checkNoneUp, checkNoUp, checkQNm, checkStr, checkStr, checkStrBin, checkType, checkWrite, compBln, copyType, ebv, iter, optPre, preEval, size, test, type, value
 
Methods inherited from class org.basex.query.expr.Expr
addText, compEbv, copy, hasFreeVars, indexAccessible, indexEquivalent, inlineAll, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, optimize, sameAs, uses, visitAll
 
Methods inherited from class org.basex.data.ExprInfo
addPlan, addPlan, description, info, planAttr, planElem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

var

public final Var var
Grouping variable.


occluded

public boolean occluded
Occlusion flag, true if another grouping variable shadows this one.


coll

public final Collation coll
Collation.

Constructor Detail

GroupBy.Spec

public GroupBy.Spec(InputInfo ii,
                    Var v,
                    Expr e,
                    Collation cl)
Constructor.

Parameters:
ii - input info
v - grouping variable
e - grouping expression
cl - collation
Method Detail

plan

public void plan(FElem plan)
Description copied from class: ExprInfo
Creates an expression tree.

Overrides:
plan in class Single
Parameters:
plan - root element

toString

public java.lang.String toString()
Specified by:
toString in class ExprInfo

item

public Item item(QueryContext ctx,
                 InputInfo ii)
          throws QueryException
Description copied from class: Expr
Evaluates the expression and returns the resulting item or a null reference, if the expression yields an empty sequence. If this method is not overwritten, Expr.iter(org.basex.query.QueryContext) must be implemented by an expression, as it may be called by this method.

Overrides:
item in class ParseExpr
Parameters:
ctx - query context
ii - input info
Returns:
iterator
Throws:
QueryException - query exception

copy

public Expr copy(QueryContext ctx,
                 VarScope scp,
                 IntObjMap<Var> vs)
Description copied from class: Expr
Copies an expression. Will be useful for inlining functions, or for copying static queries.

Specified by:
copy in class Expr
Parameters:
ctx - query context
scp - variable scope for creating new variables
vs - mapping from old variable IDs to new variable copies
Returns:
copied expression

accept

public boolean accept(ASTVisitor visitor)
Description copied from class: Expr
Traverses this expression, notifying the visitor of declared and used variables, and checking the tree for other recursive properties.

Overrides:
accept in class Single
Parameters:
visitor - visitor
Returns:
if the walk should be continued

exprSize

public int exprSize()
Description copied from class: Expr
Counts the number of expressions in this expression's sub-tree.

Overrides:
exprSize in class Single
Returns:
number of expressions