water.exec
Class Function

java.lang.Object
  extended by water.exec.Function

public abstract class Function
extends java.lang.Object

A class that represents the function call. Checks arguments in a proper manner using the argchecker instances and executes the function. Subclasses should only override the doEval abstract method.


Nested Class Summary
 class Function.ArgCheck
           
 class Function.ArgColIdent
           
 class Function.ArgInt
           
 class Function.ArgIntPositive
           
 class Function.ArgScalar
           
 class Function.ArgString
           
 class Function.ArgValue
           
 class Function.ArgVector
           
 
Field Summary
 java.lang.String _name
           
static java.util.HashMap<java.lang.String,Function> FUNCTIONS
           
 
Constructor Summary
Function(java.lang.String name)
           
 
Method Summary
protected  void addChecker(Function.ArgCheck checker)
           
 int argIndex(java.lang.String name)
           
 Function.ArgCheck checker(int index)
           
abstract  Expr.Result eval(Expr.Result... args)
           
static void initializeCommonFunctions()
           
 int numArgs()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_name

public final java.lang.String _name

FUNCTIONS

public static final java.util.HashMap<java.lang.String,Function> FUNCTIONS
Constructor Detail

Function

public Function(java.lang.String name)
Method Detail

addChecker

protected void addChecker(Function.ArgCheck checker)

checker

public Function.ArgCheck checker(int index)

numArgs

public int numArgs()

argIndex

public int argIndex(java.lang.String name)

eval

public abstract Expr.Result eval(Expr.Result... args)
                          throws java.lang.Exception
Throws:
java.lang.Exception

initializeCommonFunctions

public static void initializeCommonFunctions()