Package org.sqlite

Class SQLiteJDBCLoader


  • public class SQLiteJDBCLoader
    extends java.lang.Object
    Set the system properties, org.sqlite.lib.path, org.sqlite.lib.name, appropriately so that the SQLite JDBC driver can find *.dll, *.jnilib 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 Summary

      Fields 
      Modifier and Type Field Description
      private static boolean extracted  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      (package private) static void cleanup()
      Deleted old native libraries e.g.
      private static boolean contentsEquals​(java.io.InputStream in1, java.io.InputStream in2)  
      private static boolean extractAndLoadLibraryFile​(java.lang.String libFolderForCurrentOS, java.lang.String libraryFileName, java.lang.String targetFolder)
      Extracts and loads the specified library file to the target folder
      static int getMajorVersion()  
      static int getMinorVersion()  
      private static void getNativeLibraryFolderForTheCurrentOS()  
      (package private) static boolean getPureJavaFlag()
      Deprecated.
      Pure Java no longer supported
      static java.lang.String getVersion()  
      private static boolean hasResource​(java.lang.String path)  
      static boolean initialize()
      Loads SQLite native JDBC library.
      static boolean isNativeMode()
      Checks if the SQLite JDBC driver is set to native mode.
      static boolean isPureJavaMode()
      Deprecated.
      Pure Java nolonger supported
      private static boolean loadNativeLibrary​(java.lang.String path, java.lang.String name)
      Loads native library using the given path and name of the library.
      private static void loadSQLiteNativeLibrary()
      Loads SQLite native library using given path and name of the library.
      (package private) static java.lang.String md5sum​(java.io.InputStream input)
      Computes the MD5 value of the input stream.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • extracted

        private static boolean extracted
    • Constructor Detail

      • SQLiteJDBCLoader

        public SQLiteJDBCLoader()
    • Method Detail

      • initialize

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

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

        static boolean getPureJavaFlag()
        Deprecated.
        Pure Java no longer supported
        Returns:
        True if the SQLite JDBC driver is set to pure Java mode; false otherwise.
      • isPureJavaMode

        public static boolean isPureJavaMode()
        Deprecated.
        Pure Java nolonger supported
        Checks if the SQLite JDBC driver is set to pure Java mode.
        Returns:
        True if the SQLite JDBC driver is set to pure Java mode; false otherwise.
      • isNativeMode

        public static boolean isNativeMode()
                                    throws java.lang.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:
        java.lang.Exception
      • md5sum

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

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

        private static boolean extractAndLoadLibraryFile​(java.lang.String libFolderForCurrentOS,
                                                         java.lang.String libraryFileName,
                                                         java.lang.String targetFolder)
        Extracts and loads the specified library file to the target folder
        Parameters:
        libFolderForCurrentOS - Library path.
        libraryFileName - Library name.
        targetFolder - Target folder.
        Returns:
      • loadNativeLibrary

        private static boolean loadNativeLibrary​(java.lang.String path,
                                                 java.lang.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.
      • loadSQLiteNativeLibrary

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

        private static boolean hasResource​(java.lang.String path)
      • 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 java.lang.String getVersion()
        Returns:
        The version of the SQLite JDBC driver.