uk.ac.bbk.dcs.automed.qproc
Class FunctionTable

java.lang.Object
  extended by uk.ac.bbk.dcs.automed.qproc.FunctionTable
Direct Known Subclasses:
CrimeFunctionTable, DateFunctionTable, StandardFunctionTable, StringFunctionTable, TypeConversionFunctionTable, XMLFunctionTable

public class FunctionTable
extends java.lang.Object

A FunctionTable contains the pairs (IQL function name) - (Java class implementing IQL function)


Constructor Summary
FunctionTable()
           
 
Method Summary
 void addFunction(java.lang.String name, BuiltInFunction f)
           
 FunctionTable addFunctionTable(FunctionTable ft)
           
 void finalize()
           
 BuiltInFunction getFunction(java.lang.String name)
           
 java.util.HashMap getFunctionClassMap()
           
 void reinitialise()
           Reinitialises the function table, i.e.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionTable

public FunctionTable()
Method Detail

getFunction

public BuiltInFunction getFunction(java.lang.String name)
Parameters:
name - the name of the IQL function
Returns:
the BuiltInFunction corresponding to the string name

addFunction

public void addFunction(java.lang.String name,
                        BuiltInFunction f)
Parameters:
name - the name of the IQL function
f - the Java implementation of the IQL function

getFunctionClassMap

public java.util.HashMap getFunctionClassMap()
Returns:
the HashMap containing the pairs (IQL function name) - (Java class implementing IQL function)

addFunctionTable

public FunctionTable addFunctionTable(FunctionTable ft)
Parameters:
ft - a FunctionTable object containing a number of IQL functions to be added to this FunctionTable object
Returns:
this FunctionTable object, containing the IQL functions it did before, plus the ones from ft

reinitialise

public void reinitialise()
                  throws QProcException

Reinitialises the function table, i.e. repopulates the function table with new instances of the functions it already contained.

Used to free memory from IQL functions still containing data that are not needed anymore.

Throws:
QProcException

finalize

public void finalize()
Overrides:
finalize in class java.lang.Object