1 package SQLite; 2 3 /** 4 * Context for execution of SQLite's user defined functions. 5 * A reference to an instance of this class is passed to 6 * user defined functions. 7 */ 8 9 public class FunctionContext { 10 11 /** 12 * Internal handle for the native SQLite API. 13 */ 14 15 private long handle = 0; 16 17 /** 18 * Set function result from string. 19 * 20 * @param r result string 21 */ 22 set_result(String r)23 public native void set_result(String r); 24 25 /** 26 * Set function result from integer. 27 * 28 * @param r result integer 29 */ 30 set_result(int r)31 public native void set_result(int r); 32 33 /** 34 * Set function result from double. 35 * 36 * @param r result double 37 */ 38 set_result(double r)39 public native void set_result(double r); 40 41 /** 42 * Set function result from error message. 43 * 44 * @param r result string (error message) 45 */ 46 set_error(String r)47 public native void set_error(String r); 48 49 /** 50 * Set function result from byte array. 51 * Only provided by SQLite3 databases. 52 * 53 * @param r result byte array 54 */ 55 set_result(byte[] r)56 public native void set_result(byte[] r); 57 58 /** 59 * Set function result as empty blob given size. 60 * Only provided by SQLite3 databases. 61 * 62 * @param n size for empty blob 63 */ 64 set_result_zeroblob(int n)65 public native void set_result_zeroblob(int n); 66 67 /** 68 * Retrieve number of rows for aggregate function. 69 */ 70 count()71 public native int count(); 72 73 /** 74 * Internal native initializer. 75 */ 76 internal_init()77 private static native void internal_init(); 78 79 static { internal_init()80 internal_init(); 81 } 82 } 83