package SQLite;
/**
* Callback interface for SQLite's user defined functions.
* Each callback method receives a
* FunctionContext object
* which is used to set the function result or error code.
*
* Example:
*
*
* class SinFunc implements SQLite.Function { * public void function(SQLite.FunctionContext fc, String args[]) { * try { * Double d = new Double(args[0]); * fc.set_result(Math.sin(d.doubleValue())); * } catch (Exception e) { * fc.set_error("sin(" + args[0] + "):" + e); * } * } * ... * } * SQLite.Database db = new SQLite.Database(); * db.open("db", 0); * db.create_function("sin", 1, SinFunc); * ... * db.exec("select sin(1.0) from test", null); **/ public interface Function { /** * Callback for regular function. * * @param fc function's context for reporting result * @param args String array of arguments */ public void function(FunctionContext fc, String args[]); /** * Callback for one step in aggregate function. * * @param fc function's context for reporting result * @param args String array of arguments */ public void step(FunctionContext fc, String args[]); /** * Callback for final step in aggregate function. * * @param fc function's context for reporting result */ public void last_step(FunctionContext fc); }