|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectchemaxon.util.ErrorHandler
chemaxon.util.ConnectionHandler
public class ConnectionHandler
A JavaBean for connecting to relational databases using JDBC. See
JDBC home site
for more details on JDBC connections. The JDBC driver you are using will
provide information on setting the url property.
This JavaBean stores one JChem specific property, the name of the property
table. Its default value is "JChemProperties". See the
multiuser
section for details.
If you don't intend to use the connection in transaction, it is preferred to allow ConnectionHandler
to commit connection. In this case use constructors containing isConnectionCommitable parameter set to true.
Example #1 (connection is not used in transaction):
ConnectionHandler ch = new ConnectionHandler(true);
ch.setDriver("oracle.jdbc.OracleDriver");
ch.setUrl("jdbc:oracle:thin:@inhale:1521:demodb");
ch.setLoginName("INTERNAL");
ch.setPassword("oracle");
ch.connectToDatabase();
Example #2 (connection might be used in transaction):
Connection con = ... // E.g. from connection pool, ... ConnectionHandler ch = new ConnectionHandler(con, ConnectionHandler.DEFAULT_PROPERTY_TABLE);
| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_PROPERTY_TABLE
|
| Fields inherited from class chemaxon.util.ErrorHandler |
|---|
CLASS_NOT_FOUND_ERROR, DATABASE_SEARCH_ERROR, exception, ILLEGAL_ACCESS_ERROR, INSTANTIATION_ERROR, IO_ERROR, MAX_SEARCH_FREQUENCY_EXCEEDED_ERROR, MOL_FORMAT_ERROR, NO_ERROR, PROPERTY_NOT_SET_ERROR, SQL_ERROR, UNIDENTIFIED_ERROR |
| Constructor Summary | |
|---|---|
ConnectionHandler()
Creates new ConnectionHandler Connection will automatically be non-commitable (see isCommitable())
to preserve compatibility with previous versions. |
|
ConnectionHandler(boolean isConnectionCommitable)
Creates new ConnectionHandler |
|
ConnectionHandler(java.sql.Connection con)
Deprecated. this constructor lacks the jchemproperty table name that has to be set separately on the constructed object. Please use ConnectionHandler(Connection, String)
or ConnectionHandler(Connection, String, boolean) instead! |
|
ConnectionHandler(ConnectionHandler ch)
Creates new ConnectionHandler based on the settings of an other ConnectionHandler. |
|
ConnectionHandler(ConnectionHandler ch,
boolean isConnectionCommitable)
Creates new ConnectionHandler based on the settings of an other ConnectionHandler. |
|
ConnectionHandler(java.sql.Connection con,
java.lang.String propertyTableName)
Creates a new ConnectionHandler and sets the connection to an externally created Connection (e.g. from a connection pool). |
|
ConnectionHandler(java.sql.Connection con,
java.lang.String propertyTableName,
boolean isConnectionCommitable)
Creates a new ConnectionHandler and sets the connection to an externally created Connection (e.g. from a connection pool). |
|
| Method Summary | |
|---|---|
void |
close_NE()
Deprecated. since JChem 5.2 use close() |
void |
close()
Closes the connection to the database. |
void |
connect_NE()
Deprecated. since JChem 5.2 use connect() |
void |
connect()
Deprecated. since JChem 5.4, use connectToDatabase() to avoid having to catch useless exceptions. |
void |
connectToDatabase()
Connects to the database. |
void |
disconnect()
Disconnect from the database. |
java.sql.Connection |
getConnection()
Getter for property connection. |
java.lang.String |
getDriver()
Getter for property driver. |
java.lang.String |
getDriverName()
Getter for property driverName. |
static ConnectionHandler |
getInstance(int dbType,
java.lang.String host,
int port,
java.lang.String database,
java.lang.String username,
java.lang.String password)
Creates a ConnectionHandler using the appropriate driver and url determined by given database type, host, port and name. |
java.lang.String |
getLoginName()
Getter for property loginName. |
java.lang.String |
getPassword()
Getter for property password. |
java.lang.String |
getPropertyTable()
Getter for property propertyTable. |
boolean |
getRememberPassword()
Getter for property rememberPassword. |
java.lang.String |
getUrl()
Getter for property url. |
boolean |
isCommitable()
|
boolean |
isConnected()
Getter for property connected. |
boolean |
loadValuesFromProperties(java.util.Properties settings)
|
void |
setConnected(boolean connected)
Setter for property connected. |
void |
setConnection(java.sql.Connection con)
Sets the connection to an externally created Connection (e.g. from a connection pool). |
void |
setDriver(java.lang.String driver)
Setter for property driver. |
void |
setDriverName(java.lang.String driverName)
Setter for property driverName. |
void |
setLoginName(java.lang.String loginName)
Setter for property loginName. |
void |
setPassword(java.lang.String password)
Setter for property password. |
void |
setPropertyTable(java.lang.String propertyTableName)
Setter for property propertyTable. |
void |
setRememberPassword(boolean rememberPassword)
Setter for property rememberPassword. |
void |
setUrl(java.lang.String url)
Setter for property url. |
void |
storeValuesToProperties(java.util.Properties settings)
|
java.lang.String |
toString()
|
| Methods inherited from class chemaxon.util.ErrorHandler |
|---|
checkError, checkException, getError, getErrorMessage, getException, getStackTrace |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_PROPERTY_TABLE
| Constructor Detail |
|---|
public ConnectionHandler()
isCommitable())
to preserve compatibility with previous versions.
public ConnectionHandler(boolean isConnectionCommitable)
isConnectionCommitable - if true,
the connection can be committed at the discretion of JChem.
Please note, that no commit or multiple commits may occur in this case.@Deprecated public ConnectionHandler(java.sql.Connection con)
ConnectionHandler(Connection, String)
or ConnectionHandler(Connection, String, boolean) instead!
connectToDatabase()!
con - An open (connected) Connection object that will be used for database operations.
public ConnectionHandler(java.sql.Connection con,
java.lang.String propertyTableName)
connectToDatabase()!
con - An open (connected) Connection object that will be used for database operations.propertyTableName - name of the jchem property table to use
public ConnectionHandler(java.sql.Connection con,
java.lang.String propertyTableName,
boolean isConnectionCommitable)
connectToDatabase()!
con - An open (connected) Connection object that will be used for database operations.propertyTableName - name of the jchem property table to useisConnectionCommitable - if true,
the connection can be committed at the discretion of JChem.
Please note, that no commit or multiple commits may occur in this case.public ConnectionHandler(ConnectionHandler ch)
ch - the other ConnectionHandler
public ConnectionHandler(ConnectionHandler ch,
boolean isConnectionCommitable)
ch - the other ConnectionHandlerisConnectionCommitable - if true,
the connection can be committed at the discretion of JChem.
Please note, that no commit or multiple commits may occur in this case.| Method Detail |
|---|
public static ConnectionHandler getInstance(int dbType,
java.lang.String host,
int port,
java.lang.String database,
java.lang.String username,
java.lang.String password)
Usage:
ConnectionHandler.getInstance(DatabaseConstants.POSTGRESQL, "localhost", 5432, "demodb", "adminuser", "adminpass");
dbType - Database type defined in DatabaseConstants class.host - Server name or IP-address.port - Server port number or default if negative number is given.database - Name of the concrete database (or schema) we want to connect.username - Username.password - Password.
null if the database type is unknownpublic java.lang.String getDriverName()
driverName.
driverName.public void setDriverName(java.lang.String driverName)
driverName.
driverName - New value of property driverName.public java.lang.String getDriver()
driver.
driver.public void setDriver(java.lang.String driver)
driver.
driver - New value of property driver.public java.lang.String getUrl()
url.
url.public void setUrl(java.lang.String url)
url.
url - New value of property url.public java.lang.String getLoginName()
loginName.
public void setLoginName(java.lang.String loginName)
loginName.
loginName - New value of property loginName.public java.lang.String getPassword()
password.
password.public void setPassword(java.lang.String password)
password.
password - New value of property password.public java.lang.String getPropertyTable()
propertyTable.
propertyTable.public void setPropertyTable(java.lang.String propertyTableName)
propertyTable.
propertyTableName - New value of property propertyTable.public boolean getRememberPassword()
rememberPassword.
rememberPassword.public void setRememberPassword(boolean rememberPassword)
rememberPassword.
rememberPassword - New value of property rememberPassword.public boolean isConnected()
connected.
connected.
public void setConnected(boolean connected)
throws java.sql.SQLException,
java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
connected.
connected - New value of property connected.
java.sql.SQLException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessExceptionpublic java.sql.Connection getConnection()
connection.
connection.public final void setConnection(java.sql.Connection con)
setConnection(Connection) do not call connectToDatabase()!
con - An open (connected) Connection object that will be used for database operations.public boolean isCommitable()
true if the connection is commitable
public void connect()
throws java.sql.SQLException,
java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
connectToDatabase() to avoid having to catch useless exceptions.
java.sql.SQLException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
public void connectToDatabase()
throws java.sql.SQLException,
java.lang.ClassNotFoundException
setConnection(Connection)!
java.sql.SQLException - if a database error occurs.
java.lang.ClassNotFoundException - if the JDBC driver class for the required database
is not found on the classpath.
public void disconnect()
throws java.sql.SQLException
getConnection() returns null after calling this method.
java.sql.SQLExceptionpublic void connect_NE()
connect()
connect(),
but exceptions are caught and stored.
ErrorHandler,
connect()
public void close()
throws java.sql.SQLException
java.sql.SQLExceptionpublic void close_NE()
close()
close(),
but exceptions are caught and stored.
ErrorHandler,
close()public boolean loadValuesFromProperties(java.util.Properties settings)
public void storeValuesToProperties(java.util.Properties settings)
public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||