Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.basex.query.xquery.func
Class Fun

    java.lang.Object
      org.basex.query.ExprInfo
          org.basex.query.xquery.expr.Expr
              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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD