Package org.sqlite

Class SQLiteJDBCLoader

java.lang.Object
org.sqlite.SQLiteJDBCLoader

public class SQLiteJDBCLoader extends Object
Set the system properties, org.sqlite.lib.path, org.sqlite.lib.name, appropriately so that the SQLite JDBC driver can find *.dll, *.dylib and *.so files, according to the current OS (win, linux, mac).

The library files are automatically extracted from this project's package (JAR).

usage: call initialize() before using SQLite JDBC driver.

  • Field Details

    • logger

      private static final Logger logger
    • LOCK_EXT

      private static final String LOCK_EXT
      See Also:
    • extracted

      private static boolean extracted
  • Constructor Details

    • SQLiteJDBCLoader

      public SQLiteJDBCLoader()
  • Method Details

    • initialize

      public static boolean initialize() throws Exception
      Loads SQLite native JDBC library.
      Returns:
      True if SQLite native library is successfully loaded; false otherwise.
      Throws:
      Exception
    • getTempDir

      private static File getTempDir()
    • cleanup

      static void cleanup()
      Deleted old native libraries e.g. on Windows the DLL file is not removed on VM-Exit (bug #80)
    • isNativeMode

      public static boolean isNativeMode() throws Exception
      Checks if the SQLite JDBC driver is set to native mode.
      Returns:
      True if the SQLite JDBC driver is set to native Java mode; false otherwise.
      Throws:
      Exception
    • md5sum

      static String md5sum(InputStream input) throws IOException
      Computes the MD5 value of the input stream.
      Parameters:
      input - InputStream.
      Returns:
      Encrypted string for the InputStream.
      Throws:
      IOException
      NoSuchAlgorithmException
    • contentsEquals

      private static boolean contentsEquals(InputStream in1, InputStream in2) throws IOException
      Throws:
      IOException
    • extractAndLoadLibraryFile

      private static boolean extractAndLoadLibraryFile(String libFolderForCurrentOS, String libraryFileName, String targetFolder) throws FileException
      Extracts and loads the specified library file to the target folder
      Parameters:
      libFolderForCurrentOS - Library path.
      libraryFileName - Library name.
      targetFolder - Target folder.
      Returns:
      Throws:
      FileException
    • getResourceAsStream

      private static InputStream getResourceAsStream(String name)
    • loadNativeLibrary

      private static boolean loadNativeLibrary(String path, String name)
      Loads native library using the given path and name of the library.
      Parameters:
      path - Path of the native library.
      name - Name of the native library.
      Returns:
      True for successfully loading; false otherwise.
    • loadNativeLibraryJdk

      private static boolean loadNativeLibraryJdk()
    • loadSQLiteNativeLibrary

      private static void loadSQLiteNativeLibrary() throws Exception
      Loads SQLite native library using given path and name of the library.
      Throws:
      Exception
    • getNativeLibraryFolderForTheCurrentOS

      private static void getNativeLibraryFolderForTheCurrentOS()
    • getMajorVersion

      public static int getMajorVersion()
      Returns:
      The major version of the SQLite JDBC driver.
    • getMinorVersion

      public static int getMinorVersion()
      Returns:
      The minor version of the SQLite JDBC driver.
    • getVersion

      public static String getVersion()
      Returns:
      The version of the SQLite JDBC driver.