Package org.firebirdsql.gds.ng.jna

## Class FbLocalDatabaseFactory

- java.lang.Object
- - org.firebirdsql.gds.ng.jna.AbstractNativeDatabaseFactory
  - - org.firebirdsql.gds.ng.jna.FbLocalDatabaseFactory

- All Implemented Interfaces:
    `FbDatabaseFactory`

      public class FbLocalDatabaseFactory
      extends AbstractNativeDatabaseFactory

  Implementation of `FbDatabaseFactory` for establishing local connections using the Firebird client library.
  Since:
    3.0
  Author:
    Mark Rotteveel

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FbLocalDatabaseFactory()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected FbClientLibrary` | `createClientLibrary()` | Creates and initialize a new instance of the client library.
    `protected <T extends IAttachProperties<T>> T` | `filterProperties​(T attachProperties)` | Allows the database factory to perform modification of the attach properties before use.
    `protected FbClientLibrary` | `getClientLibrary()` | Gets the current instance of the client library.
    `static FbLocalDatabaseFactory` | `getInstance()` |

    - ### Methods inherited from class org.firebirdsql.gds.ng.jna.AbstractNativeDatabaseFactory

      `connect, serviceConnect`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FbLocalDatabaseFactory

          public FbLocalDatabaseFactory()

  - ### Method Detail

    - #### getClientLibrary

          protected FbClientLibrary getClientLibrary()

      Description copied from class: `AbstractNativeDatabaseFactory`
      Gets the current instance of the client library.

      Most implementations should not override this method (contrary to previous versions of Jaybird), to ensure native libraries are properly disposed of.

      Overrides:
        `getClientLibrary` in class `AbstractNativeDatabaseFactory`
      Returns:
        Client library instance.

    - #### filterProperties

          protected <T extends IAttachProperties<T>> T filterProperties​(T attachProperties)

      Description copied from class: `AbstractNativeDatabaseFactory`
      Allows the database factory to perform modification of the attach properties before use.

      Implementations should be prepared to handle immutable attach properties. Implementations are strongly advised to copy the attach properties before modification and return this copy.

      Overrides:
        `filterProperties` in class `AbstractNativeDatabaseFactory`
      Type Parameters:
        `T` - Type of attach properties
      Parameters:
        `attachProperties` - Attach properties
      Returns:
        Filtered properties

    - #### createClientLibrary

          protected final FbClientLibrary createClientLibrary()

      Description copied from class: `AbstractNativeDatabaseFactory`
      Creates and initialize a new instance of the client library.

      Instances should not be cached (caching - if any - is the responsibility of the caller).

      Specified by:
        `createClientLibrary` in class `AbstractNativeDatabaseFactory`
      Returns:
        new client library instance

    - #### getInstance

          public static FbLocalDatabaseFactory getInstance()