org.basex.query.func
Class Fun

java.lang.Object
  extended by org.basex.query.ExprInfo
      extended by org.basex.query.expr.Expr
          extended by org.basex.query.expr.Arr
              extended by org.basex.query.func.Fun
Direct Known Subclasses:
FNAggr, FNBaseX, FNGen, FNSeq, FNSimple

public abstract class Fun
extends Arr

Abstract function definition.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.basex.query.expr.Expr
Expr.Use
 
Field Summary
 FunDef func
          Function description.
 
Fields inherited from class org.basex.query.expr.Arr
expr
 
Constructor Summary
Fun()
           
 
Method Summary
 Expr c(QueryContext ctx)
          Compiles the function.
 Expr comp(QueryContext ctx)
          Optimizes and compiles the expression.
 String info()
          Returns a string description of the expression.
 void init(FunDef f, Expr[] e)
          Initializes the function.
 void plan(Serializer ser)
          Recursively sends the abstract syntax of this expression to the specified serializer.
 Return returned(QueryContext ctx)
          Indicates the return type of an expression.
 String toString()
           
 
Methods inherited from class org.basex.query.expr.Arr
duplicates, indexEquivalent, removable, remove, uses
 
Methods inherited from class org.basex.query.expr.Expr
addText, atomic, checkCtx, checkDbl, checkItr, e, ebv, i, indexAccessible, iter, sameAs, size, test, v
 
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

func

public FunDef func
Function description.

Constructor Detail

Fun

public Fun()
Method Detail

init

public final void init(FunDef f,
                       Expr[] e)
Initializes the function.

Parameters:
f - function description
e - expression array

comp

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

Overrides:
comp in class Arr
Parameters:
ctx - query context
Returns:
optimized Expression
Throws:
QueryException - query exception

c

public Expr c(QueryContext ctx)
       throws QueryException
Compiles the function.

Parameters:
ctx - query context
Returns:
evaluated item
Throws:
QueryException - query exception

returned

public Return returned(QueryContext ctx)
Description copied from class: Expr
Indicates the return type of an expression. Called by the compiler to check if expressions can be reformulated. null is returned by default.

Overrides:
returned in class Expr
Parameters:
ctx - query context
Returns:
result of check

info

public final String info()
Description copied from class: ExprInfo
Returns a string description of the expression. Contrary to the ExprInfo.toString() method, arguments are not included in the output.

Overrides:
info in class ExprInfo
Returns:
result of check

plan

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

Overrides:
plan in class Arr
Parameters:
ser - serializer
Throws:
IOException - I/O exception

toString

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