Package org.apache.tomcat.dbcp.dbcp2

## Class BasicDataSourceFactory

- java.lang.Object
- - org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory

- All Implemented Interfaces:
    `ObjectFactory`

      public class BasicDataSourceFactory
      extends Object
      implements ObjectFactory

  JNDI object factory that creates an instance of `BasicDataSource` that has been configured based on the `RefAddr` values of the specified `Reference`, which must match the names and data types of the `BasicDataSource` bean properties with the following exceptions:
  - `connectionInitSqls` must be passed to this factory as a single String using semicolon to delimit the statements whereas `BasicDataSource` requires a collection of Strings.
  Since:
    2.0

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static BasicDataSource` | `createDataSource​(Properties properties)` | Creates and configures a `BasicDataSource` instance based on the given properties.
    `Object` | `getObjectInstance​(Object obj, Name name, Context nameCtx, Hashtable<?,​?> environment)` | Creates and return a new `BasicDataSource` instance.

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

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

- - ### Constructor Detail

    - #### BasicDataSourceFactory

          public BasicDataSourceFactory()

  - ### Method Detail

    - #### createDataSource

          public static BasicDataSource createDataSource​(Properties properties)
                                                  throws SQLException

      Creates and configures a `BasicDataSource` instance based on the given properties.
      Parameters:
        `properties` - The data source configuration properties.
      Returns:
        A new a `BasicDataSource` instance based on the given properties.
      Throws:
        `SQLException` - Thrown when an error occurs creating the data source.

    - #### getObjectInstance

          public Object getObjectInstance​(Object obj,
                                          Name name,
                                          Context nameCtx,
                                          Hashtable<?,​?> environment)
                                   throws SQLException

      Creates and return a new `BasicDataSource` instance. If no instance can be created, return `null` instead.
      Specified by:
        `getObjectInstance` in interface `ObjectFactory`
      Parameters:
        `obj` - The possibly null object containing location or reference information that can be used in creating an object
        `name` - The name of this object relative to `nameCtx`
        `nameCtx` - The context relative to which the `name` parameter is specified, or `null` if `name` is relative to the default initial context
        `environment` - The possibly null environment that is used in creating this object
      Throws:
        `SQLException` - if an exception occurs creating the instance