Package org.fugerit.java.core.db.connect
Class ConnectionFactoryImpl
- java.lang.Object
-
- org.fugerit.java.core.log.BasicLogObject
-
- org.fugerit.java.core.db.connect.ConnectionFactoryImpl
-
- All Implemented Interfaces:
ConnectionFactory
,LogObject
- Direct Known Subclasses:
DbcpConnectionFactory
public abstract class ConnectionFactoryImpl extends BasicLogObject implements ConnectionFactory
Implementing class for ConnectionFactory.
- Author:
- Fugerit
-
-
Field Summary
Fields Modifier and Type Field Description static String
PROP_CF_EXT_POOLED
Property to create a pooled data sourcestatic String
PROP_CF_EXT_POOLED_IC
Property to create a pooled data source (idle connections)static String
PROP_CF_EXT_POOLED_MC
Property to create a pooled data source (maximum connections)static String
PROP_CF_EXT_POOLED_SC
Property to create a pooled data source (starting connections)static String
PROP_CF_MODE
Paramter to set connection modestatic String
PROP_CF_MODE_DC
Direct connection mode (DriverManager)static String
PROP_CF_MODE_DC_DRV
Property for Driver in DC modestatic String
PROP_CF_MODE_DC_PREFIX
Prefix to use when looking for other DC propertiesstatic String
PROP_CF_MODE_DC_PWD
Property for Password in DC modestatic String
PROP_CF_MODE_DC_URL
Property for URL in DC modestatic String
PROP_CF_MODE_DC_USR
Property for User in DC modestatic String
PROP_CF_MODE_DS
Strict datasource modestatic String
PROP_CF_MODE_DS_NAME
Name of the data source in connection mode DS and DS2static String
PROP_CF_MODE_DS2
Loose datasource mode
-
Constructor Summary
Constructors Constructor Description ConnectionFactoryImpl()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Connection
getConnection()
Return a connection from the factoryDataBaseInfo
getDataBaseInfo()
Return database Metadata wrapperstatic String
getDriverInfo(ConnectionFactory cf)
Return basic driver info for a ConnectionFactoryprotected void
init()
static ConnectionFactoryImpl
newInstance(String dsName)
Creates a new ConnectionFactory Data Source instancestatic ConnectionFactory
newInstance(String drv, String url, String usr, String pwd)
Creates a new ConnectionFactory Direct instancestatic ConnectionFactory
newInstance(String drv, String url, String usr, String pwd, ClassLoader cl)
Creates a new ConnectionFactory Direct instancestatic ConnectionFactory
newInstance(Driver drv, String url, String usr, String pwd)
Creates a new ConnectionFactory Direct instancestatic ConnectionFactory
newInstance(Properties props)
Creates a ConnectionFactory from a property objectstatic ConnectionFactory
newInstance(Properties props, String propsPrefix, ClassLoader cl)
Creates a ConnectionFactory from a property objectstatic ConnectionFactoryImpl
newInstance(DataSource ds)
Creates a new ConnectionFactory Data Source instancestatic CfConfig
parseCfConfig(Element cfConfig)
Parse a configuration Element looking for ConnectionFactory configurationvoid
release()
Release the connection factorystatic ConnectionFactoryCloseable
wrap(ConnectionFactory cf)
-
Methods inherited from class org.fugerit.java.core.log.BasicLogObject
getLogger
-
-
-
-
Field Detail
-
PROP_CF_MODE
public static final String PROP_CF_MODE
Paramter to set connection mode- See Also:
- Constant Field Values
-
PROP_CF_MODE_DC
public static final String PROP_CF_MODE_DC
Direct connection mode (DriverManager)- See Also:
- Constant Field Values
-
PROP_CF_MODE_DS
public static final String PROP_CF_MODE_DS
Strict datasource mode- See Also:
- Constant Field Values
-
PROP_CF_MODE_DS2
public static final String PROP_CF_MODE_DS2
Loose datasource mode- See Also:
- Constant Field Values
-
PROP_CF_MODE_DS_NAME
public static final String PROP_CF_MODE_DS_NAME
Name of the data source in connection mode DS and DS2- See Also:
- Constant Field Values
-
PROP_CF_MODE_DC_PREFIX
public static final String PROP_CF_MODE_DC_PREFIX
Prefix to use when looking for other DC properties- See Also:
- Constant Field Values
-
PROP_CF_MODE_DC_URL
public static final String PROP_CF_MODE_DC_URL
Property for URL in DC mode- See Also:
- Constant Field Values
-
PROP_CF_MODE_DC_DRV
public static final String PROP_CF_MODE_DC_DRV
Property for Driver in DC mode- See Also:
- Constant Field Values
-
PROP_CF_MODE_DC_USR
public static final String PROP_CF_MODE_DC_USR
Property for User in DC mode- See Also:
- Constant Field Values
-
PROP_CF_MODE_DC_PWD
public static final String PROP_CF_MODE_DC_PWD
Property for Password in DC mode- See Also:
- Constant Field Values
-
PROP_CF_EXT_POOLED
public static final String PROP_CF_EXT_POOLED
Property to create a pooled data source- See Also:
- Constant Field Values
-
PROP_CF_EXT_POOLED_SC
public static final String PROP_CF_EXT_POOLED_SC
Property to create a pooled data source (starting connections)- See Also:
- Constant Field Values
-
PROP_CF_EXT_POOLED_IC
public static final String PROP_CF_EXT_POOLED_IC
Property to create a pooled data source (idle connections)- See Also:
- Constant Field Values
-
PROP_CF_EXT_POOLED_MC
public static final String PROP_CF_EXT_POOLED_MC
Property to create a pooled data source (maximum connections)- See Also:
- Constant Field Values
-
-
Method Detail
-
init
protected void init() throws DAOException
- Throws:
DAOException
-
getDataBaseInfo
public DataBaseInfo getDataBaseInfo() throws DAOException
Description copied from interface:ConnectionFactory
Return database Metadata wrapper- Specified by:
getDataBaseInfo
in interfaceConnectionFactory
- Returns:
- data base metadata
- Throws:
DAOException
- in case of issues
-
wrap
public static ConnectionFactoryCloseable wrap(ConnectionFactory cf)
-
parseCfConfig
public static CfConfig parseCfConfig(Element cfConfig) throws Exception
Parse a configuration Element looking for ConnectionFactory configuration- Parameters:
cfConfig
- the Element- Returns:
- the CfConfig
- Throws:
Exception
- in case of issues
-
getDriverInfo
public static String getDriverInfo(ConnectionFactory cf) throws DAOException
Return basic driver info for a ConnectionFactory- Parameters:
cf
- the ConnectionFactory- Returns:
- a string describing the driver
- Throws:
DAOException
- in case of issues
-
newInstance
public static ConnectionFactory newInstance(Properties props) throws DAOException
Creates a ConnectionFactory from a property object- Parameters:
props
- the configuration properties- Returns:
- the ConnectionFactory
- Throws:
DAOException
- in case of issues
-
newInstance
public static ConnectionFactory newInstance(Properties props, String propsPrefix, ClassLoader cl) throws DAOException
Creates a ConnectionFactory from a property object- Parameters:
props
- the configuration propertiespropsPrefix
- prefix to use for propertiescl
- class loader to use- Returns:
- the ConnectionFactory
- Throws:
DAOException
- in case of issues
-
newInstance
public static ConnectionFactory newInstance(Driver drv, String url, String usr, String pwd) throws DAOException
Creates a new ConnectionFactory Direct instance- Parameters:
drv
- driverurl
- jdbc urlusr
- userpwd
- password- Returns:
- the ConnectionFactory
- Throws:
DAOException
- in case of issues
-
newInstance
public static ConnectionFactory newInstance(String drv, String url, String usr, String pwd) throws DAOException
Creates a new ConnectionFactory Direct instance- Parameters:
drv
- driverurl
- jdbc urlusr
- userpwd
- password- Returns:
- the ConnectionFactory
- Throws:
DAOException
- in case of issues
-
newInstance
public static ConnectionFactory newInstance(String drv, String url, String usr, String pwd, ClassLoader cl) throws DAOException
Creates a new ConnectionFactory Direct instance- Parameters:
drv
- driverurl
- jdbc urlusr
- userpwd
- passwordcl
- class loader to use- Returns:
- the ConnectionFactory
- Throws:
DAOException
- in case of issues
-
newInstance
public static ConnectionFactoryImpl newInstance(String dsName) throws DAOException
Creates a new ConnectionFactory Data Source instance- Parameters:
dsName
- the DataSource name- Returns:
- the ConnectionFactory
- Throws:
DAOException
- in case of issues
-
newInstance
public static ConnectionFactoryImpl newInstance(DataSource ds) throws DAOException
Creates a new ConnectionFactory Data Source instance- Parameters:
ds
- the DataSource- Returns:
- the ConnectionFactory
- Throws:
DAOException
- in case of issues
-
getConnection
public abstract Connection getConnection() throws DAOException
Description copied from interface:ConnectionFactory
Return a connection from the factory- Specified by:
getConnection
in interfaceConnectionFactory
- Returns:
- the java.sql.Connection
- Throws:
DAOException
- in case of issues
-
release
public void release() throws DAOException
Description copied from interface:ConnectionFactory
Release the connection factory- Specified by:
release
in interfaceConnectionFactory
- Throws:
DAOException
- in case of issues
-
-