Package org.apache.torque.dsfactory

## Interface DataSourceFactory

- All Known Implementing Classes:
    `AbstractDataSourceFactory`, `JndiDataSourceFactory`, `PerUserPool2DataSourceFactory`, `PerUserPoolDataSourceFactory`, `SharedPool2DataSourceFactory`, `SharedPoolDataSourceFactory`

      public interface DataSourceFactory

  A factory that returns a DataSource.
  Version:
    $Id: DataSourceFactory.java 1867515 2019-09-25 15:02:03Z gk $
  Author:
    John McNally, Thomas Fischer

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `DSFACTORY_KEY` | Key for the configuration which contains DataSourceFactories
    `static String` | `FACTORY_KEY` | Key for the configuration which contains the fully qualified name of the factory implementation class

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` | A hook which is called when the resources of the associated DataSource can be released.
    `DataSource` | `getDataSource()` |
    `void` | `initialize​(org.apache.commons.configuration2.Configuration configuration)` | Initialize the factory.

- - ### Field Detail

    - #### DSFACTORY_KEY

          static final String DSFACTORY_KEY

      Key for the configuration which contains DataSourceFactories
      See Also:
        Constant Field Values

    - #### FACTORY_KEY

          static final String FACTORY_KEY

      Key for the configuration which contains the fully qualified name of the factory implementation class
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getDataSource

          DataSource getDataSource()
                            throws TorqueException

      Returns:
        the `DataSource` configured by the factory.
      Throws:
        `TorqueException` - if the source can't be returned

    - #### initialize

          void initialize​(org.apache.commons.configuration2.Configuration configuration)
                   throws TorqueException

      Initialize the factory.
      Parameters:
        `configuration` - where to load the factory settings from
      Throws:
        `TorqueException` - Any exceptions caught during processing will be rethrown wrapped into a TorqueException.

    - #### close

          void close()
              throws TorqueException

      A hook which is called when the resources of the associated DataSource can be released. After close() is called, the other methods may not work any more (e.g. getDataSource() might return null). It is not guaranteed that this method does anything. For example, we do not want to close connections retrieved via JNDI, so the JndiDataSouurceFactory does not close these connections
      Throws:
        `TorqueException` - Any exceptions caught during processing will be rethrown wrapped into a TorqueException.