# Class LDatabaseFactory

java.lang.Object
com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>
com.io7m.laurel.filemodel.internal.LDatabaseFactory

All Implemented Interfaces:
  `com.io7m.darco.api.DDatabaseFactoryType<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>, LDatabaseFactoryType`

public final class LDatabaseFactory extends com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType> implements LDatabaseFactoryType
The main database factory.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LDatabaseFactory()`
  The main database factory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected com.io7m.lanark.core.RDottedName`
  `applicationId()`
  `protected org.slf4j.Logger`
  `logger()`
  `protected void`
  `onAdjustSQLiteConfig(org.sqlite.SQLiteConfig config)`
  `protected LDatabaseType`
  `onCreateDatabase(LDatabaseConfiguration configuration, org.sqlite.SQLiteDataSource source, List<LDatabaseQueryProviderType<?,?,?>> queryProviders, com.io7m.jmulticlose.core.CloseableCollectionType<com.io7m.darco.api.DDatabaseException> resources)`
  `protected void`
  `onEvent(String message)`
  `protected List<LDatabaseQueryProviderType<?,?,?>>`
  `onRequireDatabaseQueryProviders()`
  `protected InputStream`
  `onRequireDatabaseSchemaXML()`

  ### Methods inherited from class com.io7m.darco.sqlite.DSDatabaseFactory

  `kind, onRequireDatabaseSchemaArguments, open`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface com.io7m.darco.api.DDatabaseFactoryType

  `kind, open`

- ## Constructor Details

  - ### LDatabaseFactory

    public LDatabaseFactory()
    The main database factory.

- ## Method Details

  - ### applicationId

    protected com.io7m.lanark.core.RDottedName applicationId()
    Specified by:
      `applicationId` in class `com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>`

  - ### logger

    protected org.slf4j.Logger logger()
    Specified by:
      `logger` in class `com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>`

  - ### onCreateDatabase

    protected LDatabaseType onCreateDatabase(LDatabaseConfiguration configuration, org.sqlite.SQLiteDataSource source, List<LDatabaseQueryProviderType<?,?,?>> queryProviders, com.io7m.jmulticlose.core.CloseableCollectionType<com.io7m.darco.api.DDatabaseException> resources)
    Specified by:
      `onCreateDatabase` in class `com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>`

  - ### onRequireDatabaseSchemaXML

    protected InputStream onRequireDatabaseSchemaXML()
    Specified by:
      `onRequireDatabaseSchemaXML` in class `com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>`

  - ### onEvent

    protected void onEvent(String message)
    Specified by:
      `onEvent` in class `com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>`

  - ### onAdjustSQLiteConfig

    protected void onAdjustSQLiteConfig(org.sqlite.SQLiteConfig config)
    Specified by:
      `onAdjustSQLiteConfig` in class `com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>`

  - ### onRequireDatabaseQueryProviders

    protected List<LDatabaseQueryProviderType<?,?,?>> onRequireDatabaseQueryProviders()
    Specified by:
      `onRequireDatabaseQueryProviders` in class `com.io7m.darco.sqlite.DSDatabaseFactory<LDatabaseConfiguration, LDatabaseConnectionType, LDatabaseTransactionType, LDatabaseQueryProviderType<?,?,?>, LDatabaseType>`