# Class FrontBaseAdapter

java.lang.Object
org.apache.cayenne.dba.JdbcAdapter
org.apache.cayenne.dba.frontbase.FrontBaseAdapter

All Implemented Interfaces:
  `DbAdapter`

public class FrontBaseAdapter extends JdbcAdapter
DbAdapter implementation for FrontBase RDBMS

Since:
  1.2

- ## Field Summary

  ### Fields inherited from class JdbcAdapter

  `caseInsensitiveCollations, defaultCharColumnLength, ejbqlTranslator, extendedTypes, logger, nativeColumnTypes, quotingStrategy, supportsBatchUpdates, supportsGeneratedKeys, supportsUniqueConstraints`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FrontBaseAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, 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.
  `protected NativeColumnType[]`
  `createNativeTypes()`
  Returns the database-native types supported by this adapter.
  `PkGenerator`
  `createPkGenerator()`
  Returns a `FrontBasePkGenerator`.
  `String`
  `createTable(DbEntity ent)`
  Customizes table creating procedure for FrontBase.
  `Collection<String>`
  `dropTableStatements(DbEntity table)`
  Adds the CASCADE option to the DROP TABLE clause.
  `SQLAction`
  `getAction(Query query, DataNode node)`
  Uses FrontBaseActionBuilder to create the right action.
  `SQLTreeProcessor`
  `getSqlTreeProcessor()`
  `String`
  `tableTypeForTable()`
  Returns the name of the table type (as returned by `DatabaseMetaData.getTableTypes`) for a simple user table.

  ### Methods inherited from class JdbcAdapter

  `bind, bindParameter, bindParameter, buildAttribute, createEJBQLTranslator, createFkConstraint, createQuotingStrategy, createTableAppendColumn, createTableAppendPKClause, createUniqueConstraint, defaultCharColumnLength, externalTypesForJdbcType, getBatchTerminator, getEjbqlTranslator, getExtendedTypes, getProcedureTranslator, getQuotingStrategy, getQuotingStrategy, getSelectTranslator, getSQLLogger, getSystemCatalogs, getSystemSchemas, getType, initExtendedTypes, nativeColumnTypes, setEjbqlTranslator, setEjbqlTranslatorFactory, setSupportsBatchUpdates, setSupportsGeneratedKeys, setSupportsUniqueConstraints, sizeAndPrecision, sizeAndScale, supportsBatchUpdates, supportsCatalogsOnReverseEngineering, supportsGeneratedKeys, supportsUniqueConstraints, tableTypeForView, typeSupportsLength, typeSupportsScale, unwrap`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface DbAdapter

  `getEjbqlTranslatorFactory, preferredBindingType, preferredNativeColumnType, supportsGeneratedKeysForBatchInserts`

- ## Constructor Details

  - ### FrontBaseAdapter

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

- ## Method Details

  - ### createNativeTypes

    protected NativeColumnType[] createNativeTypes()
    Description copied from class: `JdbcAdapter`
    Returns the database-native types supported by this adapter.
    Overrides:
      `createNativeTypes` in class `JdbcAdapter`

  - ### createPkGenerator

    public PkGenerator createPkGenerator()
    Returns a `FrontBasePkGenerator`.
    Specified by:
      `createPkGenerator` in interface `DbAdapter`
    Overrides:
      `createPkGenerator` 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

  - ### tableTypeForTable

    public String tableTypeForTable()
    Description copied from interface: `DbAdapter`
    Returns the name of the table type (as returned by `DatabaseMetaData.getTableTypes`) for a simple user table.
    Specified by:
      `tableTypeForTable` in interface `DbAdapter`
    Overrides:
      `tableTypeForTable` in class `JdbcAdapter`

  - ### 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`

  - ### createTable

    public String createTable(DbEntity ent)
    Customizes table creating procedure for FrontBase.
    Specified by:
      `createTable` in interface `DbAdapter`
    Overrides:
      `createTable` in class `JdbcAdapter`

  - ### dropTableStatements

    public Collection<String> dropTableStatements(DbEntity table)
    Adds the CASCADE option to the DROP TABLE clause.
    Specified by:
      `dropTableStatements` in interface `DbAdapter`
    Overrides:
      `dropTableStatements` in class `JdbcAdapter`

  - ### getAction

    public SQLAction getAction(Query query, DataNode node)
    Uses FrontBaseActionBuilder to create the right action.
    Specified by:
      `getAction` in interface `DbAdapter`
    Overrides:
      `getAction` in class `JdbcAdapter`
    Since:
      4.2