Package org.apache.cayenne.dba.sqlite

# Class SQLiteAdapter

java.lang.Object
org.apache.cayenne.dba.JdbcAdapter
org.apache.cayenne.dba.sqlite.SQLiteAdapter

All Implemented Interfaces:
  `DbAdapter`

public class SQLiteAdapter extends JdbcAdapter
A SQLite database adapter that works with Zentus JDBC driver. See https://www.zentus.com/sqlitejdbc/ for the driver information. Also look at https://github.com/xerial/sqlite-jdbc for another adapter option.

          sqlite.jdbc.url = jdbc:sqlite:sqlitetest.db
          sqlite.jdbc.driver = org.sqlite.JDBC

Since:
  3.0

- ## Field Summary

  ### Fields inherited from class org.apache.cayenne.dba.JdbcAdapter

  `batchQueryBuilderFactory, caseInsensitiveCollations, ejbqlTranslatorFactory, extendedTypes, logger, quotingStrategy, resourceLocator, supportsBatchUpdates, supportsGeneratedKeys, supportsUniqueConstraints, typesHandler`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SQLiteAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `configureExtendedTypes(ExtendedTypeMap map)`
  Called from `JdbcAdapter.initExtendedTypes(List, List, List, ValueObjectTypeRegistry)` to load adapter-specific types into the ExtendedTypeMap right after the default types are loaded, but before the DI overrides are.
  `String`
  `createFkConstraint(DbRelationship rel)`
  Returns a SQL string that can be used to create a foreign key constraint for the relationship.
  `void`
  `createTableAppendColumn(StringBuffer sqlBuffer, DbAttribute column)`
  Appends AUTOINCREMENT clause to the column definition for generated columns.
  `protected void`
  `createTableAppendPKClause(StringBuffer sqlBuffer, DbEntity entity)`
  `String`
  `createUniqueConstraint(DbEntity source, Collection<DbAttribute> columns)`
  Returns a DDL string to create a unique constraint over a set of columns.
  `SQLAction`
  `getAction(Query query, DataNode node)`
  Uses JdbcActionBuilder to create the right action.
  `SQLTreeProcessor`
  `getSqlTreeProcessor()`

  ### Methods inherited from class org.apache.cayenne.dba.JdbcAdapter

  `bindParameter, buildAttribute, createEJBQLTranslatorFactory, createPkGenerator, createQuotingStrategy, createTable, dropTableStatements, externalTypesForJdbcType, findResource, getBatchTerminator, getEjbqlTranslatorFactory, getExtendedTypes, getJdbcEventLogger, getPkGenerator, getQuotingStrategy, getSelectTranslator, getSelectTranslator, getSystemCatalogs, getSystemSchemas, getType, initExtendedTypes, setEjbqlTranslatorFactory, setPkGenerator, setSupportsBatchUpdates, setSupportsGeneratedKeys, setSupportsUniqueConstraints, sizeAndPrecision, supportsBatchUpdates, supportsCatalogsOnReverseEngineering, supportsGeneratedKeys, supportsUniqueConstraints, tableTypeForTable, tableTypeForView, typeSupportsLength, unwrap`

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

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

  ### Methods inherited from interface org.apache.cayenne.dba.DbAdapter

  `supportsGeneratedKeysForBatchInserts`

- ## Constructor Details

  - ### SQLiteAdapter

    public SQLiteAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry)

- ## Method Details

  - ### configureExtendedTypes

    protected void configureExtendedTypes(ExtendedTypeMap map)
    Description copied from class: `JdbcAdapter`
    Called from `JdbcAdapter.initExtendedTypes(List, List, List, ValueObjectTypeRegistry)` to load adapter-specific types into the ExtendedTypeMap right after the default types are loaded, but before the DI overrides are. This method has specific implementations in JdbcAdapter subclasses.
    Overrides:
      `configureExtendedTypes` in class `JdbcAdapter`

  - ### getSqlTreeProcessor

    public SQLTreeProcessor getSqlTreeProcessor()
    Specified by:
      `getSqlTreeProcessor` in interface `DbAdapter`
    Overrides:
      `getSqlTreeProcessor` in class `JdbcAdapter`
    Returns:
      `SQLTreeProcessor` that can adjust SQL tree to specific database flavour
    Since:
      4.2

  - ### createFkConstraint

    public String createFkConstraint(DbRelationship rel)
    Description copied from class: `JdbcAdapter`
    Returns a SQL string that can be used to create a foreign key constraint for the relationship.
    Specified by:
      `createFkConstraint` in interface `DbAdapter`
    Overrides:
      `createFkConstraint` in class `JdbcAdapter`

  - ### createUniqueConstraint

    public String createUniqueConstraint(DbEntity source, Collection<DbAttribute> columns)
    Description copied from class: `JdbcAdapter`
    Returns a DDL string to create a unique constraint over a set of columns.
    Specified by:
      `createUniqueConstraint` in interface `DbAdapter`
    Overrides:
      `createUniqueConstraint` in class `JdbcAdapter`

  - ### getAction

    public SQLAction getAction(Query query, DataNode node)
    Description copied from class: `JdbcAdapter`
    Uses JdbcActionBuilder to create the right action.
    Specified by:
      `getAction` in interface `DbAdapter`
    Overrides:
      `getAction` in class `JdbcAdapter`

  - ### createTableAppendColumn

    public void createTableAppendColumn(StringBuffer sqlBuffer, DbAttribute column)
    Appends AUTOINCREMENT clause to the column definition for generated columns.
    Specified by:
      `createTableAppendColumn` in interface `DbAdapter`
    Overrides:
      `createTableAppendColumn` in class `JdbcAdapter`
    Parameters:
      `sqlBuffer` - the `StringBuffer` to append the column type to
      `column` - the `DbAttribute` defining the column to append type for

  - ### createTableAppendPKClause

    protected void createTableAppendPKClause(StringBuffer sqlBuffer, DbEntity entity)
    Overrides:
      `createTableAppendPKClause` in class `JdbcAdapter`