org.basex.query.xquery.func
Class Fun

java.lang.Object
  extended by org.basex.query.ExprInfo
      extended by org.basex.query.xquery.expr.Expr
          extended by org.basex.query.xquery.func.Fun
Direct Known Subclasses:
FNNode, FNSimple

public abstract class Fun
extends Expr

Abstract function definition.

Author:
Workgroup DBIS, University of Konstanz 2005-08, ISC License, Christian Gruen

Nested Class Summary
 
Nested classes/interfaces inherited from class org.basex.query.xquery.expr.Expr
Expr.Return, Expr.Using
 
Field Summary
 Expr[] args
          Function results.
 FunDef func
          Function description.
 
Constructor Summary
Fun()
           
 
Method Summary
 Expr c(XQContext ctx)
          Compiles the function.
 Expr comp(XQContext ctx)
          Optimizes and compiles the expression.
 java.lang.String info()
          Returns a string description of the expression.
 Iter iter(XQContext ctx)
          Evaluates the expression and returns an iterator on the resulting items.
abstract  Iter iter(XQContext ctx, Iter[] arg)
          Evaluates the function.
 void plan(Serializer ser)
          Recursively sends the abstract syntax of this expression to the specified serializer.
 Type returned()
          Indicates if an expression returns the specified type.
 java.lang.String toString()
           
 boolean uses(Expr.Using u)
          Indicates if an expression uses the specified type.
 
Methods inherited from class org.basex.query.xquery.expr.Expr
e, i
 
Methods inherited from class org.basex.query.ExprInfo
color, name
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

args

public Expr[] args
Function results.


func

public FunDef func
Function description.

Constructor Detail

Fun

public Fun()
Method Detail

comp

public final Expr comp(XQContext ctx)
                throws XQException
Description copied from class: Expr
Optimizes and compiles the expression.

Specified by:
comp in class Expr
Parameters:
ctx - query context
Returns:
optimized Expression
Throws:
XQException - evaluation exception

c

public Expr c(XQContext ctx)
       throws XQException
Compiles the function.

Parameters:
ctx - xquery context
Returns:
evaluated item
Throws:
XQException - evaluation exception

iter

public final Iter iter(XQContext ctx)
                throws XQException
Description copied from class: Expr
Evaluates the expression and returns an iterator on the resulting items.

Specified by:
iter in class Expr
Parameters:
ctx - query context
Returns:
resulting item
Throws:
XQException - evaluation exception

iter

public abstract Iter iter(XQContext ctx,
                          Iter[] arg)
                   throws XQException
Evaluates the function.

Parameters:
ctx - xquery context
arg - evaluated arguments
Returns:
evaluated item
Throws:
XQException - evaluation exception

uses

public boolean uses(Expr.Using u)
Description copied from class: Expr
Indicates if an expression uses the specified type. Called by the compiler to check if expressions can be reformulated. true is returned by default.

Overrides:
uses in class Expr
Parameters:
u - using flag
Returns:
result of check

returned

public final Type returned()
Description copied from class: Expr
Indicates if an expression returns the specified type. Called by the compiler to check if expressions can be reformulated. null is returned by default.

Overrides:
returned in class Expr
Returns:
result of check

toString

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

info

public final java.lang.String info()
Description copied from class: ExprInfo
Returns a string description of the expression. Contrary to the ExprInfo.toString() method, the current expressions aren't included in the output.

Overrides:
info in class ExprInfo
Returns:
result of check

plan

public void plan(Serializer ser)
          throws java.io.IOException
Description copied from class: ExprInfo
Recursively sends the abstract syntax of this expression to the specified serializer.

Specified by:
plan in class ExprInfo
Parameters:
ser - serializer
Throws:
java.io.IOException - exception