org.basex.query.expr
Class CElem

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.Arr
                  extended by org.basex.query.expr.CFrag
                      extended by org.basex.query.expr.CName
                          extended by org.basex.query.expr.CElem

public final class CElem
extends CName

Element constructor.

Author:
BaseX Team 2005-12, BSD License, Christian Gruen

Nested Class Summary
 
Nested classes/interfaces inherited from class org.basex.query.expr.Expr
Expr.Flag
 
Field Summary
 
Fields inherited from class org.basex.query.expr.Arr
expr
 
Fields inherited from class org.basex.query.expr.ParseExpr
info, size, type
 
Constructor Summary
CElem(InputInfo ii, Expr t, Atts ns, Expr... cont)
          Constructor.
 
Method Summary
 CElem compile(QueryContext ctx, VarScope scp)
          Compiles and optimizes the expression, assigns data types and cardinalities.
 Expr copy(QueryContext ctx, VarScope scp, IntObjMap<Var> vs)
          Copies an expression.
 FElem item(QueryContext ctx, InputInfo ii)
          Evaluates the expression and returns the resulting item or a null reference, if the expression yields an empty sequence.
 
Methods inherited from class org.basex.query.expr.CName
accept, checkUp, count, description, exprSize, has, inline, plan, removable, toString
 
Methods inherited from class org.basex.query.expr.CFrag
toString
 
Methods inherited from class org.basex.query.expr.Arr
allAreValues, checkNoUp, copyAll, indexEquivalent
 
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, inlineAll, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, optimize, sameAs, uses, visitAll
 
Methods inherited from class org.basex.data.ExprInfo
addPlan, addPlan, info, planAttr, planElem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CElem

public CElem(InputInfo ii,
             Expr t,
             Atts ns,
             Expr... cont)
Constructor.

Parameters:
ii - input info
t - tag
ns - namespaces, or null if this is a computed constructor.
cont - element contents
Method Detail

compile

public CElem compile(QueryContext ctx,
                     VarScope scp)
              throws QueryException
Description copied from class: Expr
Compiles and optimizes the expression, assigns data types and cardinalities.

Overrides:
compile in class CName
Parameters:
ctx - query context
scp - variable scope
Returns:
optimized expression
Throws:
QueryException - query exception

item

public FElem 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.

Specified by:
item in class CFrag
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