EclipseLink 2.2.0, build 'v20110202-r8913' API Reference

org.eclipse.persistence.sessions
Class DefaultConnector

java.lang.Object
  extended by org.eclipse.persistence.sessions.DefaultConnector
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Connector
Direct Known Subclasses:
DirectConnector

public class DefaultConnector
extends java.lang.Object
implements Connector

Purpose:Use this Connector to build a java.sql.Connection in the "standard" fashion, via the DriverManager.

See Also:
Serialized Form
Author:
Big Country
Since:
TOPLink/Java 2.1

Field Summary
protected  java.lang.String databaseURL
           
protected  java.sql.Driver driver
          cache up the instantiated Driver to speed up reconnects
protected  java.lang.Class driverClass
          cache up the driver class to speed up reconnects
protected  java.lang.String driverClassName
           
protected  java.lang.String driverURLHeader
           
 
Constructor Summary
DefaultConnector()
          PUBLIC: Construct a Connector with default settings The database URL will still need to be set.
DefaultConnector(java.lang.String driverClassName, java.lang.String driverURLHeader, java.lang.String databaseURL)
          PUBLIC: Construct a Connector with the specified settings.
 
Method Summary
 void clearDriverClassAndDriver()
          INTERNAL: Discard the cached driver class and driver.
 java.lang.Object clone()
          INTERNAL: Clone the connector.
 java.sql.Connection connect(java.util.Properties properties, Session session)
          INTERNAL: Connect with the specified properties and session.
protected  java.sql.Connection directConnect(java.util.Properties properties)
          INTERNAL: Connect directly - without using DriverManager.
 java.lang.String getConnectionDetails()
          PUBLIC: Provide the details of my connection information.
 java.lang.String getConnectionString()
          PUBLIC: Return the JDBC connection string.
 java.lang.String getDatabaseURL()
          PUBLIC: The database URL is the JDBC URL for the database server.
 java.lang.String getDriverClassName()
          PUBLIC: The driver class is the name of the Java class for the JDBC driver being used (e.g.
 java.lang.String getDriverURLHeader()
          PUBLIC: The driver URL header is the string predetermined by the JDBC driver to be part of the URL connection string, (e.g.
protected  void initialize(java.lang.String driverClassName, java.lang.String driverURLHeader, java.lang.String databaseURL)
          INTERNAL: Initialize the connector with the specified settings.
protected  void instantiateDriver()
          INTERNAL: Instantiate the Driver.
protected  void loadDriverClass(Session session)
          INTERNAL: Ensure that the driver has been loaded and registered with the DriverManager.
 void setDatabaseURL(java.lang.String databaseURL)
          PUBLIC: The database URL is the JDBC URL for the database server.
 void setDriverClassName(java.lang.String driverClassName)
          PUBLIC: The driver class is the name of the Java class for the JDBC driver being used (e.g.
 void setDriverURLHeader(java.lang.String driverURLHeader)
          PUBLIC: The driver URL header is the string predetermined by the JDBC driver to be part of the URL connection string, (e.g.
 boolean shouldUseDriverManager(java.util.Properties properties, Session session)
          INTERNAL: Indicates whether DriverManager should be used.
 java.lang.String toString()
          PUBLIC: Print connection string.
 void toString(java.io.PrintWriter writer)
          INTERNAL: Print something useful on the log.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

driverClassName

protected java.lang.String driverClassName

driverURLHeader

protected java.lang.String driverURLHeader

databaseURL

protected java.lang.String databaseURL

driverClass

protected java.lang.Class driverClass
cache up the driver class to speed up reconnects


driver

protected java.sql.Driver driver
cache up the instantiated Driver to speed up reconnects

Constructor Detail

DefaultConnector

public DefaultConnector()
PUBLIC: Construct a Connector with default settings The database URL will still need to be set.


DefaultConnector

public DefaultConnector(java.lang.String driverClassName,
                        java.lang.String driverURLHeader,
                        java.lang.String databaseURL)
PUBLIC: Construct a Connector with the specified settings.

Method Detail

clone

public java.lang.Object clone()
INTERNAL: Clone the connector.

Specified by:
clone in interface Connector
Overrides:
clone in class java.lang.Object

connect

public java.sql.Connection connect(java.util.Properties properties,
                                   Session session)
                            throws DatabaseException
INTERNAL: Connect with the specified properties and session. Return the Connection.

Specified by:
connect in interface Connector
Returns:
java.sql.Connection
Throws:
DatabaseException

shouldUseDriverManager

public boolean shouldUseDriverManager(java.util.Properties properties,
                                      Session session)
INTERNAL: Indicates whether DriverManager should be used.

Returns:
boolean

directConnect

protected java.sql.Connection directConnect(java.util.Properties properties)
                                     throws DatabaseException
INTERNAL: Connect directly - without using DriverManager. Return the Connection.

Returns:
java.sql.Connection
Throws:
DatabaseException

getConnectionString

public java.lang.String getConnectionString()
PUBLIC: Return the JDBC connection string. This is a combination of the driver-specific URL header and the database URL.


getConnectionDetails

public java.lang.String getConnectionDetails()
PUBLIC: Provide the details of my connection information. This is primarily for JMX runtime services.

Specified by:
getConnectionDetails in interface Connector
Returns:
java.lang.String

getDatabaseURL

public java.lang.String getDatabaseURL()
PUBLIC: The database URL is the JDBC URL for the database server. The driver header is not be included in this URL (e.g. "dbase files"; not "jdbc:odbc:dbase files").


getDriverClassName

public java.lang.String getDriverClassName()
PUBLIC: The driver class is the name of the Java class for the JDBC driver being used (e.g. "sun.jdbc.odbc.JdbcOdbcDriver").


getDriverURLHeader

public java.lang.String getDriverURLHeader()
PUBLIC: The driver URL header is the string predetermined by the JDBC driver to be part of the URL connection string, (e.g. "jdbc:odbc:"). This is required to connect to the database.


initialize

protected void initialize(java.lang.String driverClassName,
                          java.lang.String driverURLHeader,
                          java.lang.String databaseURL)
INTERNAL: Initialize the connector with the specified settings.


loadDriverClass

protected void loadDriverClass(Session session)
                        throws DatabaseException
INTERNAL: Ensure that the driver has been loaded and registered with the DriverManager. Just loading the class should cause the static initialization code to do the necessary registration. Return the loaded driver Class.

Throws:
DatabaseException

setDatabaseURL

public void setDatabaseURL(java.lang.String databaseURL)
PUBLIC: The database URL is the JDBC URL for the database server. The driver header is not be included in this URL (e.g. "dbase files"; not "jdbc:odbc:dbase files").


setDriverClassName

public void setDriverClassName(java.lang.String driverClassName)
PUBLIC: The driver class is the name of the Java class for the JDBC driver being used (e.g. "sun.jdbc.odbc.JdbcOdbcDriver").


setDriverURLHeader

public void setDriverURLHeader(java.lang.String driverURLHeader)
PUBLIC: The driver URL header is the string predetermined by the JDBC driver to be part of the URL connection string, (e.g. "jdbc:odbc:"). This is required to connect to the database.


toString

public java.lang.String toString()
PUBLIC: Print connection string.

Overrides:
toString in class java.lang.Object

toString

public void toString(java.io.PrintWriter writer)
INTERNAL: Print something useful on the log.

Specified by:
toString in interface Connector

instantiateDriver

protected void instantiateDriver()
                          throws DatabaseException
INTERNAL: Instantiate the Driver.

Throws:
DatabaseException

clearDriverClassAndDriver

public void clearDriverClassAndDriver()
INTERNAL: Discard the cached driver class and driver.


EclipseLink 2.2.0, build 'v20110202-r8913' API Reference