org.basex.query.path
Class MixedPath

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.path.Path
                  extended by org.basex.query.path.MixedPath

public final class MixedPath
extends Path

Mixed path expression.

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.path.Path
root, steps
 
Fields inherited from class org.basex.query.expr.ParseExpr
info, size, type
 
Constructor Summary
MixedPath(InputInfo ii, Expr r, Expr... s)
          Constructor.
 
Method Summary
protected  Expr compilePath(QueryContext ctx, VarScope scp)
          Compiles the location path.
 Expr copy(QueryContext ctx, VarScope scp, IntObjMap<Var> vs)
          Copies an expression.
 Iter iter(QueryContext ctx)
          Evaluates the expression and returns an iterator on the resulting items.
 boolean removable(Var v)
          Checks if the specified variable is replaceable by a context item.
 
Methods inherited from class org.basex.query.path.Path
accept, addPreds, checkUp, compile, count, exprSize, get, has, inline, optimize, plan, toString
 
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, item, 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, 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
 

Constructor Detail

MixedPath

public MixedPath(InputInfo ii,
                 Expr r,
                 Expr... s)
Constructor.

Parameters:
ii - input info
r - root expression; can be a null reference
s - axis steps
Method Detail

compilePath

protected Expr compilePath(QueryContext ctx,
                           VarScope scp)
                    throws QueryException
Description copied from class: Path
Compiles the location path.

Specified by:
compilePath in class Path
Parameters:
ctx - query context
scp - variable scope
Returns:
optimized expression
Throws:
QueryException - query exception

iter

public Iter iter(QueryContext ctx)
          throws QueryException
Description copied from class: Expr
Evaluates the expression and returns an iterator on the resulting items. If this method is not overwritten, Expr.item(org.basex.query.QueryContext, org.basex.util.InputInfo) must be implemented by an expression, as it may be called by this method.

Overrides:
iter in class ParseExpr
Parameters:
ctx - query context
Returns:
resulting item
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

removable

public boolean removable(Var v)
Description copied from class: Expr
Checks if the specified variable is replaceable by a context item. The following tests might return false: This method is called by GFLWOR.compile(org.basex.query.QueryContext, org.basex.query.var.VarScope) to rewrite where clauses into predicates.

Overrides:
removable in class Path
Parameters:
v - variable to be replaced
Returns:
result of check