Package org.apache.torque.dsfactory

## Class AbstractDataSourceFactory

- java.lang.Object
- - org.apache.torque.dsfactory.AbstractDataSourceFactory

- All Implemented Interfaces:
    `DataSourceFactory`
  Direct Known Subclasses:
    `JndiDataSourceFactory`, `PerUserPool2DataSourceFactory`, `PerUserPoolDataSourceFactory`, `SharedPool2DataSourceFactory`, `SharedPoolDataSourceFactory`

      public abstract class AbstractDataSourceFactory
      extends Object
      implements DataSourceFactory

  A class that contains common functionality of the factories in this package.
  Version:
    $Id: AbstractDataSourceFactory.java 1870542 2019-11-28 09:32:40Z tv $
  Author:
    John McNally, Henning P. Schmiedehausen

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `CONNECTION_KEY` | "connection" Key for the configuration
    `static String` | `DEFAULT_CONNECTION_KEY` | "defaults.connection" Key for the configuration
    `static String` | `DEFAULT_POOL_KEY` | "defaults.pool" Key for the configuration
    `static String` | `DEFAULTS_KEY` | "defaults" Key for the configuration
    `static String` | `POOL_KEY` | "pool" Key for the configuration

    - ### Fields inherited from interface org.apache.torque.dsfactory.DataSourceFactory

      `DSFACTORY_KEY, FACTORY_KEY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractDataSourceFactory()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `applyConfiguration​(org.apache.commons.configuration2.Configuration c, Object o)` | Iterate over a Configuration subset and apply all properties to a passed object which must contain Bean setter and getter
    `abstract DataSource` | `getDataSource()` |
    `protected void` | `initCPDS​(org.apache.commons.configuration2.Configuration configuration, ConnectionPoolDataSource cpds)` | Initializes the ConnectionPoolDataSource.
    `abstract void` | `initialize​(org.apache.commons.configuration2.Configuration configuration)` | Initialize the factory.
    `protected void` | `initJdbc2Pool​(DataSource dataSource, org.apache.commons.configuration2.Configuration configuration)` | Initializes the Jdbc2PoolDataSource.
    `protected void` | `setProperty​(String property, org.apache.commons.configuration2.Configuration c, Object ds)` | Encapsulates setting configuration properties on `DataSource` objects.

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

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

    - ### Methods inherited from interface org.apache.torque.dsfactory.DataSourceFactory

      `close`

- - ### Field Detail

    - #### POOL_KEY

          public static final String POOL_KEY

      "pool" Key for the configuration
      See Also:
        Constant Field Values

    - #### CONNECTION_KEY

          public static final String CONNECTION_KEY

      "connection" Key for the configuration
      See Also:
        Constant Field Values

    - #### DEFAULTS_KEY

          public static final String DEFAULTS_KEY

      "defaults" Key for the configuration
      See Also:
        Constant Field Values

    - #### DEFAULT_POOL_KEY

          public static final String DEFAULT_POOL_KEY

      "defaults.pool" Key for the configuration
      See Also:
        Constant Field Values

    - #### DEFAULT_CONNECTION_KEY

          public static final String DEFAULT_CONNECTION_KEY

      "defaults.connection" Key for the configuration
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### AbstractDataSourceFactory

          public AbstractDataSourceFactory()

  - ### Method Detail

    - #### setProperty

          protected void setProperty​(String property,
                                     org.apache.commons.configuration2.Configuration c,
                                     Object ds)
                              throws Exception

      Encapsulates setting configuration properties on `DataSource` objects.
      Parameters:
        `property` - the property to read from the configuration
        `c` - the configuration to read the property from
        `ds` - the `DataSource` instance to write the property to
      Throws:
        `Exception` - if anything goes wrong

    - #### applyConfiguration

          protected void applyConfiguration​(org.apache.commons.configuration2.Configuration c,
                                            Object o)
                                     throws TorqueException

      Iterate over a Configuration subset and apply all properties to a passed object which must contain Bean setter and getter
      Parameters:
        `c` - The configuration subset
        `o` - The object to apply the properties to
      Throws:
        `TorqueException` - if a property set fails

    - #### initCPDS

          protected void initCPDS​(org.apache.commons.configuration2.Configuration configuration,
                                  ConnectionPoolDataSource cpds)
                           throws TorqueException

      Initializes the ConnectionPoolDataSource.
      Parameters:
        `configuration` - where to read the settings from
        `cpds` - data source to configure
      Throws:
        `TorqueException` - if a property set fails

    - #### initJdbc2Pool

          protected void initJdbc2Pool​(DataSource dataSource,
                                       org.apache.commons.configuration2.Configuration configuration)
                                throws TorqueException

      Initializes the Jdbc2PoolDataSource.
      Parameters:
        `dataSource` - the dataSource to initialize, not null.
        `configuration` - where to read the settings from, not null.
      Throws:
        `TorqueException` - if a property set fails.

    - #### getDataSource

          public abstract DataSource getDataSource()
                                            throws TorqueException

      Specified by:
        `getDataSource` in interface `DataSourceFactory`
      Returns:
        the `DataSource` configured by the factory.
      Throws:
        `TorqueException` - if the source can't be returned

    - #### initialize

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

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