]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
JNI: part 2 of typos and Java style tweaks suggested in [forum:99ac7961d82f57f3|forum...
authorstephan <stephan@noemail.net>
Mon, 14 Apr 2025 12:09:24 +0000 (12:09 +0000)
committerstephan <stephan@noemail.net>
Mon, 14 Apr 2025 12:09:24 +0000 (12:09 +0000)
FossilOrigin-Name: 5e6e9aee5b43e6ae98e78293a0da30e82ad18c3c9c03fc6298240233ddadb2a2

13 files changed:
ext/jni/src/c/sqlite3-jni.h
ext/jni/src/org/sqlite/jni/capi/TableColumnMetadata.java
ext/jni/src/org/sqlite/jni/capi/Tester1.java
ext/jni/src/org/sqlite/jni/capi/XDestroyCallback.java
ext/jni/src/org/sqlite/jni/fts5/Fts5ExtensionApi.java
ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java
ext/jni/src/org/sqlite/jni/fts5/fts5_extension_function.java
ext/jni/src/org/sqlite/jni/test-script-interpreter.md
ext/jni/src/org/sqlite/jni/wrapper1/ScalarFunction.java
ext/jni/src/org/sqlite/jni/wrapper1/SqlFunction.java
ext/jni/src/org/sqlite/jni/wrapper1/Sqlite.java
manifest
manifest.uuid

index 6f93bf8ab7662821c8f627674aba7a83f4adda8b..082a202122c89b1884b16149f37e1c5877efcea1 100644 (file)
@@ -1342,7 +1342,7 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_capi_CApi_sqlite3_1data_1count
  * Method:    sqlite3_db_config
  * Signature: (Lorg/sqlite/jni/capi/sqlite3;IILorg/sqlite/jni/capi/OutputPointer/Int32;)I
  */
-JNIEXPORT jint JNICALL Java_org_sqlite_jni_capi_CApi_sqlite3_1db_1config__Lorg_sqlite_jni_capi_sqlite3_2IILorg_sqlite_jni_capi_OutputPointer_00024Int32_2
+JNIEXPORT jint JNICALL Java_org_sqlite_jni_capi_CApi_sqlite3_1db_1config__Lorg_sqlite_jni_capi_sqlite3_2IILorg_sqlite_jni_capi_OutputPointer_Int32_2
   (JNIEnv *, jclass, jobject, jint, jint, jobject);
 
 /*
index d8b6226ac9540406aa822e0973e14f32215b727d..54808cd1ca18fd4e2cbf9ca38dc8ef5ce55b1442 100644 (file)
@@ -18,11 +18,11 @@ package org.sqlite.jni.capi;
    They are populated only via that interface.
 */
 public final class TableColumnMetadata {
-  OutputPointer.Bool pNotNull = new OutputPointer.Bool();
-  OutputPointer.Bool pPrimaryKey = new OutputPointer.Bool();
-  OutputPointer.Bool pAutoinc = new OutputPointer.Bool();
-  OutputPointer.String pzCollSeq = new OutputPointer.String();
-  OutputPointer.String pzDataType = new OutputPointer.String();
+  final OutputPointer.Bool pNotNull = new OutputPointer.Bool();
+  final OutputPointer.Bool pPrimaryKey = new OutputPointer.Bool();
+  final OutputPointer.Bool pAutoinc = new OutputPointer.Bool();
+  final OutputPointer.String pzCollSeq = new OutputPointer.String();
+  final OutputPointer.String pzDataType = new OutputPointer.String();
 
   public TableColumnMetadata(){
   }
index 05b1cfeaedf2728db74ab16d31d44ce15320fed0..a9b766e9f3b135822d57b1a0c0414dd47bf8a368 100644 (file)
@@ -19,7 +19,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
 
 /**
    An annotation for Tester1 tests which we do not want to run in
@@ -62,13 +61,13 @@ public class Tester1 implements Runnable {
   //! List of test*() methods to run.
   private static List<java.lang.reflect.Method> testMethods = null;
   //! List of exceptions collected by run()
-  private static List<Exception> listErrors = new ArrayList<>();
+  private static final List<Exception> listErrors = new ArrayList<>();
   private static final class Metrics {
     //! Number of times createNewDb() (or equivalent) is invoked.
     volatile int dbOpen = 0;
   }
 
-  private Integer tId;
+  private final Integer tId;
 
   Tester1(Integer id){
     tId = id;
@@ -78,7 +77,7 @@ public class Tester1 implements Runnable {
 
   public static synchronized void outln(){
     if( !quietMode ){
-      System.out.println("");
+      System.out.println();
     }
   }
 
@@ -523,7 +522,7 @@ public class Tester1 implements Runnable {
     }
     sqlite3_finalize(stmt);
     affirm(3 == n);
-    affirm("w😃rldhell🤩!🤩".equals(sbuf.toString()));
+    affirm("w😃rldhell🤩!🤩".contentEquals(sbuf));
 
     try( sqlite3_stmt stmt2 = prepare(db, "SELECT ?, ?") ){
       rc = sqlite3_bind_text(stmt2, 1, "");
@@ -668,7 +667,7 @@ public class Tester1 implements Runnable {
     execSql(db, "CREATE TABLE t(a); INSERT INTO t(a) VALUES('a'),('b'),('c')");
     final ValueHolder<Integer> xDestroyCalled = new ValueHolder<>(0);
     final CollationCallback myCollation = new CollationCallback() {
-        private String myState =
+        private final String myState =
           "this is local state. There is much like it, but this is mine.";
         @Override
         // Reverse-sorts its inputs...
@@ -847,7 +846,7 @@ public class Tester1 implements Runnable {
     SQLFunction funcAgg = new AggregateFunction<Integer>(){
         @Override public void xStep(sqlite3_context cx, sqlite3_value[] args){
           /** Throwing from here should emit loud noise on stdout or stderr
-              but the exception is supressed because we have no way to inform
+              but the exception is suppressed because we have no way to inform
               sqlite about it from these callbacks. */
           //throw new RuntimeException("Throwing from an xStep");
         }
@@ -1850,7 +1849,7 @@ public class Tester1 implements Runnable {
       "; insert into t(a) values(1),(2),(3);",
       "select a from t;"
     };
-    final List<sqlite3_stmt> liStmt = new ArrayList<sqlite3_stmt>();
+    final List<sqlite3_stmt> liStmt = new ArrayList<>();
     final PrepareMultiCallback proxy = new PrepareMultiCallback.StepAll();
     final ValueHolder<String> toss = new ValueHolder<>(null);
     PrepareMultiCallback m = new PrepareMultiCallback() {
@@ -1984,9 +1983,9 @@ public class Tester1 implements Runnable {
      -v: emit some developer-mode info at the end.
   */
   public static void main(String[] args) throws Exception {
-    Integer nThread = 1;
+    int nThread = 1;
     boolean doSomethingForDev = false;
-    Integer nRepeat = 1;
+    int nRepeat = 1;
     boolean forceFail = false;
     boolean sqlLog = false;
     boolean configLog = false;
@@ -2048,7 +2047,7 @@ public class Tester1 implements Runnable {
       final ConfigLogCallback log = new ConfigLogCallback() {
           @Override public void call(int code, String msg){
             outln("ConfigLogCallback: ",ResultCode.getEntryForInt(code),": ", msg);
-          };
+          }
         };
       int rc = sqlite3_config( log );
       affirm( 0==rc );
index 372e4ec8d0ddda320cebfad8f3d49efac31f08ce..ce6c6a6abff0a31e7db58e7206f43eefb5507356 100644 (file)
@@ -33,5 +33,5 @@ public interface XDestroyCallback {
      each individual reference, leading to memory corruption or a
      crash via duplicate free().
   */
-  public void xDestroy();
+  void xDestroy();
 }
index 594f3eaad64b7a5d105bc71379a9df9a92ffcb09..f409f4961d66e83616b7a72524c2ebe20b770670 100644 (file)
@@ -12,7 +12,6 @@
 ** This file is part of the JNI bindings for the sqlite3 C API.
 */
 package org.sqlite.jni.fts5;
-import java.nio.charset.StandardCharsets;
 import org.sqlite.jni.capi.*;
 import org.sqlite.jni.annotation.*;
 
@@ -24,7 +23,7 @@ public final class Fts5ExtensionApi extends NativePointerHolder<Fts5ExtensionApi
   private final int iVersion = 2;
 
   /* Callback type for used by xQueryPhrase(). */
-  public static interface XQueryPhraseCallback {
+  public interface XQueryPhraseCallback {
     int call(Fts5ExtensionApi fapi, Fts5Context cx);
   }
 
index 095e649caffb37f6427c5492a52a308e62582ecd..4d97ced47d325678dfd144d5442e1bb6b3731746 100644 (file)
 ** This file contains a set of tests for the sqlite3 JNI bindings.
 */
 package org.sqlite.jni.fts5;
+import java.util.*;
 import static org.sqlite.jni.capi.CApi.*;
 import static org.sqlite.jni.capi.Tester1.*;
 import org.sqlite.jni.capi.*;
-import org.sqlite.jni.fts5.*;
-
-import java.util.*;
+import java.nio.charset.StandardCharsets;
 
 public class TesterFts5 {
 
@@ -88,7 +87,7 @@ public class TesterFts5 {
   ** thrown.
   */
   private static String[] sqlite3_exec(sqlite3 db, String sql) {
-    List<String> aOut = new ArrayList<String>();
+    List<String> aOut = new ArrayList<>();
 
     /* Iterate through the list of SQL statements. For each, step through
     ** it and add any results to the aOut[] array.  */
@@ -137,14 +136,14 @@ public class TesterFts5 {
   **     fts5_columncount()
   */
   private static void create_test_functions(sqlite3 db){
-    /* 
+    /*
     ** A user-defined-function fts5_rowid() that uses xRowid()
     */
     fts5_extension_function fts5_rowid = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         long rowid = ext.xRowid(fCx);
@@ -153,14 +152,14 @@ public class TesterFts5 {
       public void xDestroy(){ }
     };
 
-    /* 
-    ** fts5_columncount() - xColumnCount() 
+    /*
+    ** fts5_columncount() - xColumnCount()
     */
     fts5_extension_function fts5_columncount = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         int nCol = ext.xColumnCount(fCx);
@@ -169,14 +168,14 @@ public class TesterFts5 {
       public void xDestroy(){ }
     };
 
-    /* 
-    ** fts5_columnsize() - xColumnSize() 
+    /*
+    ** fts5_columnsize() - xColumnSize()
     */
     fts5_extension_function fts5_columnsize = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=1 ){
@@ -194,14 +193,14 @@ public class TesterFts5 {
       public void xDestroy(){ }
     };
 
-    /* 
-    ** fts5_columntext() - xColumnText() 
+    /*
+    ** fts5_columntext() - xColumnText()
     */
     fts5_extension_function fts5_columntext = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=1 ){
@@ -219,14 +218,14 @@ public class TesterFts5 {
       public void xDestroy(){ }
     };
 
-    /* 
-    ** fts5_columntotalsize() - xColumnTotalSize() 
+    /*
+    ** fts5_columntotalsize() - xColumnTotalSize()
     */
     fts5_extension_function fts5_columntsize = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=1 ){
@@ -251,9 +250,9 @@ public class TesterFts5 {
     */
     class fts5_aux implements fts5_extension_function {
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length>1 ){
@@ -268,13 +267,13 @@ public class TesterFts5 {
 
         if( argv.length==1 ){
           String val = sqlite3_value_text16(argv[0]);
-          if( !val.equals("") ){
+          if( !val.isEmpty() ){
             ext.xSetAuxdata(fCx, val);
           }
         }
       }
       public void xDestroy(){ }
-    };
+    }
 
     /*
     ** fts5_inst(<fts>);
@@ -286,9 +285,9 @@ public class TesterFts5 {
     */
     fts5_extension_function fts5_inst = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=0 ){
@@ -299,7 +298,7 @@ public class TesterFts5 {
         OutputPointer.Int32 piPhrase = new OutputPointer.Int32();
         OutputPointer.Int32 piCol = new OutputPointer.Int32();
         OutputPointer.Int32 piOff = new OutputPointer.Int32();
-        String ret = new String();
+        String ret = "";
 
         int rc = ext.xInstCount(fCx, pnInst);
         int nInst = pnInst.get();
@@ -327,9 +326,9 @@ public class TesterFts5 {
     */
     fts5_extension_function fts5_pinst = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=0 ){
@@ -338,7 +337,7 @@ public class TesterFts5 {
 
         OutputPointer.Int32 piCol = new OutputPointer.Int32();
         OutputPointer.Int32 piOff = new OutputPointer.Int32();
-        String ret = new String();
+        String ret = "";
         int rc = SQLITE_OK;
 
         int nPhrase = ext.xPhraseCount(fCx);
@@ -350,7 +349,7 @@ public class TesterFts5 {
               rc==SQLITE_OK && piCol.get()>=0;
               ext.xPhraseNext(fCx, pIter, piCol, piOff)
           ){
-            if( !ret.equals("") ) ret += " ";
+            if( !ret.isEmpty() ) ret += " ";
             ret += "{"+ii+" "+piCol.get()+" "+piOff.get()+"}";
           }
         }
@@ -374,9 +373,9 @@ public class TesterFts5 {
     */
     fts5_extension_function fts5_pcolinst = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=0 ){
@@ -384,7 +383,7 @@ public class TesterFts5 {
         }
 
         OutputPointer.Int32 piCol = new OutputPointer.Int32();
-        String ret = new String();
+        String ret = "";
         int rc = SQLITE_OK;
 
         int nPhrase = ext.xPhraseCount(fCx);
@@ -396,7 +395,7 @@ public class TesterFts5 {
               rc==SQLITE_OK && piCol.get()>=0;
               ext.xPhraseNextColumn(fCx, pIter, piCol)
           ){
-            if( !ret.equals("") ) ret += " ";
+            if( !ret.isEmpty() ) ret += " ";
             ret += "{"+ii+" "+piCol.get()+"}";
           }
         }
@@ -415,9 +414,9 @@ public class TesterFts5 {
     */
     fts5_extension_function fts5_rowcount = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=0 ){
@@ -440,9 +439,9 @@ public class TesterFts5 {
     */
     fts5_extension_function fts5_phrasesize = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=1 ){
@@ -464,9 +463,9 @@ public class TesterFts5 {
     */
     fts5_extension_function fts5_phrasehits = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=1 ){
@@ -503,9 +502,9 @@ public class TesterFts5 {
     */
     fts5_extension_function fts5_tokenize = new fts5_extension_function(){
       @Override public void call(
-          Fts5ExtensionApi ext, 
+          Fts5ExtensionApi ext,
           Fts5Context fCx,
-          sqlite3_context pCx, 
+          sqlite3_context pCx,
           sqlite3_value argv[]
       ){
         if( argv.length!=1 ){
@@ -515,7 +514,7 @@ public class TesterFts5 {
         int rc = SQLITE_OK;
 
         class MyCallback implements XTokenizeCallback {
-          private List<String> myList = new ArrayList<String>();
+          private List<String> myList = new ArrayList<>();
 
           public String getval() {
             return String.join("+", myList);
@@ -524,7 +523,7 @@ public class TesterFts5 {
           @Override
           public int call(int tFlags, byte[] txt, int iStart, int iEnd){
             try {
-              String str = new String(txt, "UTF-8");
+              String str = new String(txt, StandardCharsets.UTF_8);
               myList.add(str);
             } catch (Exception e) {
             }
index 5e47633baa9bbcd0b911cf3a8612fd6137c6f107..6e98f64ff39e4583bdcdf1eca58ec39a751c8430 100644 (file)
@@ -39,7 +39,11 @@ public interface fts5_extension_function {
   */
   void xDestroy();
 
-  public static abstract class Abstract implements fts5_extension_function {
+  /**
+     A base implementation of fts5_extension_function() which has a
+     no-op xDestroy() method.
+  */
+  abstract class Abstract implements fts5_extension_function {
     @Override public abstract void call(Fts5ExtensionApi ext, Fts5Context fCx,
                                         sqlite3_context pCx, sqlite3_value argv[]);
     @Override public void xDestroy(){}
index c10122349eb37dcd6414de3e230023584e8c3ebb..cc7b7e7f9a7dc85704518fe6df353017a672a688 100644 (file)
@@ -4,7 +4,7 @@
 
 The purpose of the Test Script Interpreter is to read and interpret
 script files that contain SQL commands and desired results.  The
-interpreter will check results and report any discrepencies found.
+interpreter will check results and report any discrepancies found.
 
 The test script files are ASCII text files.  The filename always ends with
 ".test".  Each script is evaluated independently; context does not carry
@@ -160,7 +160,7 @@ the result buffer.  This distinction does not matter for the --result
 command itself, but it is important for related commands like --glob
 and --notglob.  Sometimes test cases will contains a bunch of SQL
 followed by multiple --glob and/or --notglob statements.  All of the
-globs should be evaluated agains the result buffer, but the SQL should
+globs should be evaluated against the result buffer, but the SQL should
 only be run once.  This is accomplished by resetting the input buffer
 but not the result buffer.
 
index 067a6983eb0e9c9b2560d53e532fcafb7459aced..c616ae7393fa7f1004c03af2919de337ef15f87a 100644 (file)
 ** This file is part of the wrapper1 interface for sqlite3.
 */
 package org.sqlite.jni.wrapper1;
-import org.sqlite.jni.capi.CApi;
-import org.sqlite.jni.annotation.*;
-import org.sqlite.jni.capi.sqlite3_context;
-import org.sqlite.jni.capi.sqlite3_value;
 
 /**
    The SqlFunction type for scalar SQL functions.
index a700dd777918371dba6d6d334575a8468d4a93e2..bb0fd0ccd40cf1af717e5897bd49f60b47bf95a3 100644 (file)
@@ -22,13 +22,13 @@ import org.sqlite.jni.capi.sqlite3_value;
 */
 public interface SqlFunction  {
 
-  public static final int DETERMINISTIC = CApi.SQLITE_DETERMINISTIC;
-  public static final int INNOCUOUS = CApi.SQLITE_INNOCUOUS;
-  public static final int DIRECTONLY = CApi.SQLITE_DIRECTONLY;
-  public static final int SUBTYPE = CApi.SQLITE_SUBTYPE;
-  public static final int RESULT_SUBTYPE = CApi.SQLITE_RESULT_SUBTYPE;
-  public static final int UTF8 = CApi.SQLITE_UTF8;
-  public static final int UTF16 = CApi.SQLITE_UTF16;
+  int DETERMINISTIC = CApi.SQLITE_DETERMINISTIC;
+  int INNOCUOUS = CApi.SQLITE_INNOCUOUS;
+  int DIRECTONLY = CApi.SQLITE_DIRECTONLY;
+  int SUBTYPE = CApi.SQLITE_SUBTYPE;
+  int RESULT_SUBTYPE = CApi.SQLITE_RESULT_SUBTYPE;
+  int UTF8 = CApi.SQLITE_UTF8;
+  int UTF16 = CApi.SQLITE_UTF16;
 
   /**
      The Arguments type is an abstraction on top of the lower-level
@@ -36,7 +36,7 @@ public interface SqlFunction  {
      of the lower-level interface, insofar as possible without "leaking"
      those types into this API.
   */
-  public final static class Arguments implements Iterable<SqlFunction.Arguments.Arg>{
+  final class Arguments implements Iterable<SqlFunction.Arguments.Arg>{
     private final sqlite3_context cx;
     private final sqlite3_value args[];
     public final int length;
@@ -207,7 +207,7 @@ public interface SqlFunction  {
      Internal-use adapter for wrapping this package's ScalarFunction
      for use with the org.sqlite.jni.capi.ScalarFunction interface.
   */
-  static final class ScalarAdapter extends org.sqlite.jni.capi.ScalarFunction {
+  final class ScalarAdapter extends org.sqlite.jni.capi.ScalarFunction {
     private final ScalarFunction impl;
     ScalarAdapter(ScalarFunction impl){
       this.impl = impl;
@@ -234,8 +234,8 @@ public interface SqlFunction  {
      Internal-use adapter for wrapping this package's AggregateFunction
      for use with the org.sqlite.jni.capi.AggregateFunction interface.
   */
-  static /*cannot be final without duplicating the whole body in WindowAdapter*/
   class AggregateAdapter extends org.sqlite.jni.capi.AggregateFunction {
+  /*cannot be final without duplicating the whole body in WindowAdapter*/
     private final AggregateFunction impl;
     AggregateAdapter(AggregateFunction impl){
       this.impl = impl;
@@ -277,7 +277,7 @@ public interface SqlFunction  {
      Internal-use adapter for wrapping this package's WindowFunction
      for use with the org.sqlite.jni.capi.WindowFunction interface.
   */
-  static final class WindowAdapter extends AggregateAdapter {
+  final class WindowAdapter extends AggregateAdapter {
     private final WindowFunction impl;
     WindowAdapter(WindowFunction impl){
       super(impl);
index 2855d4c25f5fad7449fdd8e1a48ff867c9257a5f..d259e0ce62ebecc56e0ceaf2bb6b8d5bf97dcab0 100644 (file)
@@ -19,7 +19,6 @@ import org.sqlite.jni.capi.sqlite3_stmt;
 import org.sqlite.jni.capi.sqlite3_backup;
 import org.sqlite.jni.capi.sqlite3_blob;
 import org.sqlite.jni.capi.OutputPointer;
-import java.nio.ByteBuffer;
 
 /**
    This class represents a database connection, analog to the C-side
@@ -388,10 +387,10 @@ public final class Sqlite implements AutoCloseable  {
     return CApi.sqlite3_compileoption_used(optName);
   }
 
-  private static boolean hasNormalizeSql =
+  private static final boolean hasNormalizeSql =
     compileOptionUsed("ENABLE_NORMALIZE");
 
-  private static boolean hasSqlLog =
+  private static final boolean hasSqlLog =
     compileOptionUsed("ENABLE_SQLLOG");
 
   /**
@@ -450,7 +449,7 @@ public final class Sqlite implements AutoCloseable  {
     long current;
     /** The peak value for the requested status() or libStatus() metric. */
     long peak;
-  };
+  }
 
   /**
      As per sqlite3_status64(), but returns its current and high-water
@@ -696,7 +695,7 @@ public final class Sqlite implements AutoCloseable  {
     final org.sqlite.jni.capi.OutputPointer.Int32 oTail =
       new org.sqlite.jni.capi.OutputPointer.Int32();
     while( pos < sqlChunk.length ){
-      sqlite3_stmt stmt = null;
+      sqlite3_stmt stmt;
       if( pos>0 ){
         sqlChunk = java.util.Arrays.copyOfRange(sqlChunk, pos, sqlChunk.length);
       }
@@ -988,15 +987,15 @@ public final class Sqlite implements AutoCloseable  {
           }
         };
     checkRc( CApi.sqlite3_trace_v2(thisDb(), traceMask, tc) );
-  };
+  }
 
   /**
      Corresponds to the sqlite3_stmt class. Use Sqlite.prepare() to
      create new instances.
   */
   public static final class Stmt implements AutoCloseable {
-    private Sqlite _db = null;
-    private sqlite3_stmt stmt = null;
+    private Sqlite _db;
+    private sqlite3_stmt stmt;
 
     /** Only called by the prepare() factory functions. */
     Stmt(Sqlite db, sqlite3_stmt stmt){
@@ -1379,9 +1378,9 @@ public final class Sqlite implements AutoCloseable  {
      Sqlite.initBackup() to create new instances.
   */
   public static final class Backup implements AutoCloseable {
-    private sqlite3_backup b = null;
-    private Sqlite dbTo = null;
-    private Sqlite dbFrom = null;
+    private sqlite3_backup b;
+    private Sqlite dbTo;
+    private Sqlite dbFrom;
 
     Backup(Sqlite dbDest, String schemaDest,Sqlite dbSrc, String schemaSrc){
       this.dbTo = dbDest;
@@ -1491,7 +1490,7 @@ public final class Sqlite implements AutoCloseable  {
        Warning: the SQLite core has no mechanism for reporting errors
        from custom collations and its workflow does not accommodate
        propagation of exceptions from callbacks. Any exceptions thrown
-       from collations will be silently supressed and sorting results
+       from collations will be silently suppressed and sorting results
        will be unpredictable.
     */
     int call(byte[] lhs, byte[] rhs);
@@ -1506,7 +1505,7 @@ public final class Sqlite implements AutoCloseable  {
   */
   public void createCollation(String name, int encoding, Collation c){
     thisDb();
-    if( null==name || 0==name.length()){
+    if( null==name || name.isEmpty()){
       throw new IllegalArgumentException("Collation name may not be null or empty.");
     }
     if( null==c ){
@@ -1599,11 +1598,12 @@ public final class Sqlite implements AutoCloseable  {
   public void setBusyHandler( BusyHandler b ){
     org.sqlite.jni.capi.BusyHandlerCallback bhc = null;
     if( null!=b ){
-      bhc = new org.sqlite.jni.capi.BusyHandlerCallback(){
+      /*bhc = new org.sqlite.jni.capi.BusyHandlerCallback(){
           @Override public int call(int n){
             return b.call(n);
           }
-        };
+        };*/
+      bhc = b::call;
     }
     checkRc( CApi.sqlite3_busy_handler(thisDb(), bhc) );
   }
@@ -1781,9 +1781,10 @@ public final class Sqlite implements AutoCloseable  {
   public void setProgressHandler( int n, ProgressHandler p ){
     org.sqlite.jni.capi.ProgressHandlerCallback phc = null;
     if( null!=p ){
-      phc = new org.sqlite.jni.capi.ProgressHandlerCallback(){
+      /*phc = new org.sqlite.jni.capi.ProgressHandlerCallback(){
           @Override public int call(){ return p.call(); }
-        };
+          };*/
+      phc = p::call;
     }
     CApi.sqlite3_progress_handler( thisDb(), n, phc );
   }
@@ -1808,11 +1809,12 @@ public final class Sqlite implements AutoCloseable  {
   public void setAuthorizer( Authorizer a ) {
     org.sqlite.jni.capi.AuthorizerCallback ac = null;
     if( null!=a ){
-      ac = new org.sqlite.jni.capi.AuthorizerCallback(){
+      /*ac = new org.sqlite.jni.capi.AuthorizerCallback(){
           @Override public int call(int opId, String s1, String s2, String s3, String s4){
             return a.call(opId, s1, s2, s3, s4);
           }
-        };
+          };*/
+      ac = a::call;
     }
     checkRc( CApi.sqlite3_set_authorizer( thisDb(), ac ) );
   }
@@ -1932,11 +1934,12 @@ public final class Sqlite implements AutoCloseable  {
     final org.sqlite.jni.capi.ConfigLogCallback l =
       null==log
       ? null
-      : new org.sqlite.jni.capi.ConfigLogCallback() {
+      /*: new org.sqlite.jni.capi.ConfigLogCallback() {
           @Override public void call(int errCode, String msg){
             log.call(errCode, msg);
           }
-        };
+          };*/
+      : log::call;
       checkRcStatic(CApi.sqlite3_config(l));
   }
 
index 804885798863644b22e593b7285654b4d7d7e464..85661df25212102d08ff5374aa6d93ac35dc72c8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C JNI:\spart\s1\sof\stypos\sand\sJava\sstyle\stweaks\ssuggested\sin\s[forum:99ac7961d82f57f3|forum\spost\s99ac7961d82f57f3].
-D 2025-04-14T11:31:10.823
+C JNI:\spart\s2\sof\stypos\sand\sJava\sstyle\stweaks\ssuggested\sin\s[forum:99ac7961d82f57f3|forum\spost\s99ac7961d82f57f3].
+D 2025-04-14T12:09:24.445
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -290,7 +290,7 @@ F ext/jni/GNUmakefile 8a94e3a1953b88cf117fb2a5380480feada8b4f5316f02572cab425030
 F ext/jni/README.md e3fbd47c774683539b7fdc95a667eb9cd6e64d8510f3ee327e7fa0c61c8aa787
 F ext/jni/jar-dist.make 030aaa4ae71dd86e4ec5e7c1e6cd86f9dfa47c4592c070d2e35157e42498e1fa
 F ext/jni/src/c/sqlite3-jni.c 74c35473c1fb1756ee911468d5027e4f989eea6764dff429b1214f76d78c431d
-F ext/jni/src/c/sqlite3-jni.h cc5fc5cefe2d63f461a4bad90735b34be0d85e5fe6778ae7ba992fae4d223cdf
+F ext/jni/src/c/sqlite3-jni.h 913ab8e8fee432ae40f0e387c8231118d17053714703f5ded18202912a8a3fbf
 F ext/jni/src/org/sqlite/jni/annotation/Experimental.java 8603498634e41d0f7c70f661f64e05df64376562ea8f126829fd1e0cdd47e82b
 F ext/jni/src/org/sqlite/jni/annotation/NotNull.java be6cc3e8e114485822331630097cc0f816377e8503af2fc02f9305ff2b353917
 F ext/jni/src/org/sqlite/jni/annotation/Nullable.java 56e3dee1f3f703a545dfdeddc1c3d64d1581172b1ad01ffcae95c18547fafd90
@@ -317,13 +317,13 @@ F ext/jni/src/org/sqlite/jni/capi/RollbackHookCallback.java e172210a2080e851ebb6
 F ext/jni/src/org/sqlite/jni/capi/SQLFunction.java 0d1e9afc9ff8a2adb94a155b72385155fa3b8011a5cca0bb3c28468c7131c1a5
 F ext/jni/src/org/sqlite/jni/capi/SQLTester.java 828ad9e149885a5080be920b5edee11fc43d6603485529da256b19e3581b72cc
 F ext/jni/src/org/sqlite/jni/capi/ScalarFunction.java 93b9700fca4c68075ccab12fe0fbbc76c91cafc9f368e835b9bd7cd7732c8615
-F ext/jni/src/org/sqlite/jni/capi/TableColumnMetadata.java addf120e0e76e5be1ff2260daa7ce305ff9b5fafd64153a7a28e9d8f000a815f
-F ext/jni/src/org/sqlite/jni/capi/Tester1.java e5fa17301b7266c1cbe4bcce67788e08e45871c7c72c153d515abb37e501de0a
+F ext/jni/src/org/sqlite/jni/capi/TableColumnMetadata.java 9133bb7685901d2edf07801191284975e33b5583ce09dce1c05202ff91e7bb99
+F ext/jni/src/org/sqlite/jni/capi/Tester1.java 9f4f0041e30712b92a86ddb7e1faf956a0c89a7fb0d5daf88cbae9ec263d8453
 F ext/jni/src/org/sqlite/jni/capi/TraceV2Callback.java 0a25e117a0daae3394a77f24713e36d7b44c67d6e6d30e9e1d56a63442eef723
 F ext/jni/src/org/sqlite/jni/capi/UpdateHookCallback.java c8bdf7848e6599115d601bcc9427ff902cb33129b9be32870ac6808e04b6ae56
 F ext/jni/src/org/sqlite/jni/capi/ValueHolder.java 2ce069f3e007fdbbe1f4e507a5a407fc9679da31a0aa40985e6317ed4d5ec7b5
 F ext/jni/src/org/sqlite/jni/capi/WindowFunction.java caf4396f91b2567904cf94bc538a069fd62260d975bd037d15a02a890ed1ef9e
-F ext/jni/src/org/sqlite/jni/capi/XDestroyCallback.java f3abb8dd7381f53ebba909437090caf68200f06717b8a7d6aa96fa3e8133117d
+F ext/jni/src/org/sqlite/jni/capi/XDestroyCallback.java 9c8cc33995a3df385feaf476a8306d29dbab611ed4f55da736597357bde68620
 F ext/jni/src/org/sqlite/jni/capi/package-info.java 08ff986a65d2be9162442c82d28a65ce431d826f188520717c2ecb1484d0a50e
 F ext/jni/src/org/sqlite/jni/capi/sqlite3.java c6a5c555d163d76663534f2b2cce7cab15325b9852d0f58c6688a85e73ae52f0
 F ext/jni/src/org/sqlite/jni/capi/sqlite3_backup.java 6742b431cd4d77e8000c1f92ec66265a58414c86bf3b0b5fbcb1164e08477227
@@ -333,19 +333,19 @@ F ext/jni/src/org/sqlite/jni/capi/sqlite3_stmt.java 293b5fa7d5b5724c87de544654ac
 F ext/jni/src/org/sqlite/jni/capi/sqlite3_value.java e1d62a257c13504b46d39d5c21c49cf157ad73fda00cc5f34c931aa008c37049
 F ext/jni/src/org/sqlite/jni/fts5/Fts5.java e94681023785f1eff5399f0ddc82f46b035977d350f14838db659236ebdf6b41
 F ext/jni/src/org/sqlite/jni/fts5/Fts5Context.java 338637e6e5a2cc385d962b220f3c1f475cc371d12ae43d18ef27327b6e6225f7
-F ext/jni/src/org/sqlite/jni/fts5/Fts5ExtensionApi.java 7da0fbb5728f7c056a43e6407f13dd0c7c9c445221267786a109b987f5fc8a9d
+F ext/jni/src/org/sqlite/jni/fts5/Fts5ExtensionApi.java 2de029b3a12b16f779f4df6381c5f0cd358dd82bdaf99ec837504a1110b829f3
 F ext/jni/src/org/sqlite/jni/fts5/Fts5PhraseIter.java 28045042d593a1f1b9b80d54ec77cbf1d8a1bc95e442eceefa9a3a6f56600b0e
 F ext/jni/src/org/sqlite/jni/fts5/Fts5Tokenizer.java 3c8f677ffb85b8782f865d6fcbc16200b3375d0e3c29ed541a494fde3011bf49
-F ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java 51e16bf9050af7cb246d17d6a19c001cfc916bf20f425c96625aaccaf74688e8
+F ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java 793a5f6f2f581034dc3b503d5023b05e7e38558a80542148b82527dc2a7bf209
 F ext/jni/src/org/sqlite/jni/fts5/XTokenizeCallback.java 1efd1220ea328a32f2d2a1b16c735864159e929480f71daad4de9d5944839167
 F ext/jni/src/org/sqlite/jni/fts5/fts5_api.java a8e88c3783d21cec51b0748568a96653fead88f8f4953376178d9c7385b197ea
-F ext/jni/src/org/sqlite/jni/fts5/fts5_extension_function.java 9e2b954d210d572552b28aca523b272fae14bd41e318921b22f65b728d5bf978
+F ext/jni/src/org/sqlite/jni/fts5/fts5_extension_function.java 1e721873c62df2eb79f45bbf55b8662625365885b02d1d51915f773de16a90e3
 F ext/jni/src/org/sqlite/jni/fts5/fts5_tokenizer.java 92bdaa3893bd684533004d64ade23d329843f809cd0d0f4f1a2856da6e6b4d90
-F ext/jni/src/org/sqlite/jni/test-script-interpreter.md 620754d59d97022198d0dcdd366b8c56dca07b080880a7618b33620cfd3d4a56
+F ext/jni/src/org/sqlite/jni/test-script-interpreter.md d7987b432870d23f7c72a7804d099fe5ccfb945f519ac90a33e189297fbbfa1c
 F ext/jni/src/org/sqlite/jni/wrapper1/AggregateFunction.java d5c108b02afd3c63c9e5e53f71f85273c1bfdc461ae526e0a0bb2b25e4df6483
-F ext/jni/src/org/sqlite/jni/wrapper1/ScalarFunction.java 43c43adfb7866098aadaaca1620028a6ec82d5193149970019b1cce9eb59fb03
-F ext/jni/src/org/sqlite/jni/wrapper1/SqlFunction.java b424faf3bbcc9ae13f72ca87ca9bc9d34c6f0dd797f1f4ddf854a00e8d6b2241
-F ext/jni/src/org/sqlite/jni/wrapper1/Sqlite.java 1d6fbdb7bd875e861f0c52ae131c087ff09804face19587c3971ac72af626196
+F ext/jni/src/org/sqlite/jni/wrapper1/ScalarFunction.java 326ffba29aab836a6ea189703c3d7fb573305fd93da2d14b0f9e9dcf314c8290
+F ext/jni/src/org/sqlite/jni/wrapper1/SqlFunction.java e920f7a031e04975579240d4a07ac5e4a9d0f8de31b0aa7a4be753c98ae596c9
+F ext/jni/src/org/sqlite/jni/wrapper1/Sqlite.java c82bc00c1988f86246a89f721d3c41f0d952f33f934aa6677ec87f7ca42519a0
 F ext/jni/src/org/sqlite/jni/wrapper1/SqliteException.java 982538ddb4c0719ef87dfa664cd137b09890b546029a7477810bd64d4c47ee35
 F ext/jni/src/org/sqlite/jni/wrapper1/Tester2.java ce45f2ec85facbb73690096547ed166e7be82299e3d92eaa206f82b60a6ec969
 F ext/jni/src/org/sqlite/jni/wrapper1/ValueHolder.java a84e90c43724a69c2ecebd601bc8e5139f869b7d08cb705c77ef757dacdd0593
@@ -2216,8 +2216,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P d6889f6b9aa70bc90f71883b3e7ba359162477afe5048dacb7dfa11733ad1e5a
-R 4fa41ddd47fcd20793ebec54c99f81c8
+P ab00af4e48501b0413650df31147866a805c34b7ecf506d1e208bc3ae6c2ef28
+R eccaa5625295ba78582e7b3d93247920
 U stephan
-Z d553daca30b625c1ccad3f32966884c5
+Z 952342e6ebff8b006b1487bc23287d99
 # Remove this line to create a well-formed Fossil manifest.
index 6f2c65c1853d642f1a1bdd762f6b87912254e62c..b2c27defa2e8b552548fe3dd416d35a6ff95b517 100644 (file)
@@ -1 +1 @@
-ab00af4e48501b0413650df31147866a805c34b7ecf506d1e208bc3ae6c2ef28
+5e6e9aee5b43e6ae98e78293a0da30e82ad18c3c9c03fc6298240233ddadb2a2