Class DuckDBDataStoreFactory

Object
ForwardingDataStoreFactory<DuckDBJDBCDataStoreFactory>
DuckDBDataStoreFactory
All Implemented Interfaces:
DataAccessFactory, DataStoreFactorySpi, Factory

public class DuckDBDataStoreFactory extends ForwardingDataStoreFactory<DuckDBJDBCDataStoreFactory> implements DataStoreFactorySpi
Public DuckDB datastore factory that wraps the internal JDBC datastore to avoid exposing the raw JDBC store type to regular callers.
  • Field Details

  • Constructor Details

    • DuckDBDataStoreFactory

      public DuckDBDataStoreFactory()
  • Method Details

    • setBaseDirectory

      public void setBaseDirectory(File baseDirectory)
    • getBaseDirectory

      public File getBaseDirectory()
    • createDataStore

      public DuckDBDataStore createDataStore(Map<String,?> params) throws IOException
      Description copied from interface: DataStoreFactorySpi
      Construct a live data source using the params specifed.

      You can think of this as setting up a connection to the back end data source.

      Magic Params: the following params are magic and are honoured by convention by the GeoServer and uDig application.

      • "user": is taken to be the user name
      • "passwd": is taken to be the password
      • "namespace": is taken to be the namespace prefix (and will be kept in sync with GeoServer namespace management.
      When we eventually move over to the use of OpperationalParam we will have to find someway to codify this convention.
      Specified by:
      createDataStore in interface DataAccessFactory
      Specified by:
      createDataStore in interface DataStoreFactorySpi
      Overrides:
      createDataStore in class ForwardingDataStoreFactory<DuckDBJDBCDataStoreFactory>
      Parameters:
      params - The full set of information needed to construct a live data store. Typical key values for the map include: url - location of a resource, used by file reading datasources. dbtype - the type of the database to connect to, e.g. postgis, mysql
      Returns:
      The created DataStore, this may be null if the required resource was not found or if insufficent parameters were given. Note that canProcess() should have returned false if the problem is to do with insuficent parameters.
      Throws:
      IOException - if there were any problems setting up (creating or connecting) the datasource.
    • createNewDataStore

      public DataStore createNewDataStore(Map<String,?> params) throws IOException
      Specified by:
      createNewDataStore in interface DataStoreFactorySpi
      Overrides:
      createNewDataStore in class ForwardingDataStoreFactory<DuckDBJDBCDataStoreFactory>
      Throws:
      IOException