jsqlite.Function Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spatialite-android Show documentation
Show all versions of spatialite-android Show documentation
Vector map library written in Java - running on Android and Desktop.
package jsqlite;
/**
* 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);
}