GenericDatabase Class
- public class GenericDatabase
extends Object
implements Database
Concrete implementation of the Database interface. This implementation is
designed to be used with database drivers that support
Statement.setCharacterStream() and Statement.setBinaryStream(). Drivers
also need to support Clob.getCharacterStream() to write/read
CLOBs and Blob.getBinaryStream() to write/read BLOBs.
The setClob, getClob, setBlob, and getBlob methods in this class should be
overidden if a driver does not support the above methods when working with BLOBs
and CLOBs.
Related Topics
Database
-
Hierarchy
-
Object
GenericDatabase
-
All Implemented Interfaces
-
Database
-
Direct Known Subclasses
-
OracleDatabase, SetStringDatabase
public boolean |
-
accept(Connection connection)
- Check to see if the connection URL matches the format
defined in "accept.driver.url.regex".
|
public void |
-
close()
- Close the Connection associated with this Database.
|
public void |
-
close(Statement stmt)
- Closes a Statement.
|
public void |
-
close(PreparedStatement ps)
- Closes a PreparedStatement.
|
public void |
-
close(ResultSet rs)
- Close a result set, ignoring any errors.
|
public void |
-
close(ResultSet rs, Statement stmt)
- Close a statement and resultset, ignoring errors.
|
public void |
-
close(Reader reader)
- Closes a Reader.
|
public void |
-
close(InputStream is)
- Closes an InputStream.
|
public void |
-
close(Writer writer)
- Closes a Writer.
|
public void |
-
close(OutputStream os)
- Closes an OutputStream.
|
public boolean |
-
commitConnection(Connection connection)
|
protected PreparedStatement |
-
createPreparedStatement(String key)
- Creates a PreparedStatement based on queries found in ResourceBundle.
|
public void |
-
endBlob()
- Commits Blob transaction.
|
public void |
-
endClob()
- Commits Clob transaction.
|
public String |
-
getApplicationName()
- Get the name of the current WebLogic J2EE application
or return null if not running within a WebLogic J2EE
context.
|
public byte[] |
-
getBlob(ResultSet rs, int index)
- Retrieve Blob value as a byte[] from a ResultSet.
|
public OutputStream |
-
getBlobLocator(Connection con, String tableName, String blobColumnName, String whereClause)
- Gets an OutputStream to the BlobLocator object.
|
public String |
-
getClob(ResultSet rs, int index)
- Get the value of a CLOB column as a string.
|
public Clob |
-
getClobLocator(Connection con, String tableName, String clobColumnName, String whereClause)
|
public String |
-
getClobTableName()
- Used to retrieve the name of the table that stores Clobs.
|
public Connection |
-
getConnection()
- Return Connection object of the current Database instance.
|
public String |
-
getEmptyBlobInitializer()
- Returns an empty String since Pointbase doesn't use initializers.
|
public String |
-
getEmptyClobInitializer()
|
public String |
-
getName()
- The name of this GenericDatabase instance.
|
protected String |
-
getProperty(String propertyName)
- Used to retrieve a property in the ResourceBundle.
|
protected void |
-
printSqlWarning(SQLWarning warning)
- Prints the SQLWarning to System.err.
|
public String |
-
readFromClob(Clob clob)
- Reads the contents of a Clob and returns as a String.
|
public String |
-
readFromClob(ResultSet resultSet, int index)
- Reads the contents of a Clob and returns as a String.
|
public void |
-
setClob(PreparedStatement stmt, int index, String str)
- Set the value of a CLOB column with a string.
|
public boolean |
-
setClob(PreparedStatement stmt, int index, Clob clob, String str)
- If there is a delegate, this method uses JdbcHelperDelegate.writeClobData()
If this is done, then the PreparedStatement does not need to be used and the return value,
executeRequired, is false.
|
public void |
-
startBlob()
- Starts the transaction to commit Blob.
|
public void |
-
startClob()
- Starts the transaction to commit Clob.
|
public void |
-
writeToClob(Clob clob, String data)
- Writes the data from a String into a Clob.
|
public Reader |
-
writeToClob(PreparedStatement statement, int index, String data)
- Writes the data from a String into a Clob using a PreparedStatement.
|
Methods from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods from interface com.bea.p13n.util.jdbc.Database |
accept, close, close, close, close, close, close, close, close, close, commitConnection, endBlob, endClob, getApplicationName, getBlob, getBlobLocator, getClob, getClobLocator, getConnection, getEmptyBlobInitializer, getEmptyClobInitializer, getName, readFromClob, setClob, setClob, startBlob, startClob, writeToClob |
GenericDatabase
public GenericDatabase(Connection connection)
accept(Connection) Method
public boolean accept(Connection connection)
Check to see if the connection URL matches the format
defined in "accept.driver.url.regex".
Parameters
-
connection
- The Connection object that contains the URL.
Returns
- If this Database can accept a connection
URL of the supplied form return true, otherwise return false.
close() Method
public void close()
Close the Connection associated with this Database.
close(Statement) Method
public void close(Statement stmt)
Closes a Statement.
Parameters
-
stmt
- The Statement object to be closed.
close(PreparedStatement) Method
public void close(PreparedStatement ps)
Closes a PreparedStatement.
Parameters
-
ps
- The PreparedStatement object to be closed.
close(ResultSet) Method
public void close(ResultSet rs)
Close a result set, ignoring any errors.
Parameters
-
rs
- The ResultSet object to be closed.
close(ResultSet, Statement) Method
public void close(ResultSet rs,
Statement stmt)
Close a statement and resultset, ignoring errors.
Parameters
-
rs
- The ResultSet object to be closed.
-
stmt
- The Statement object to be closed.
close(Reader) Method
public void close(Reader reader)
Closes a Reader.
Parameters
-
reader
- The Reader stream.
close(InputStream) Method
public void close(InputStream is)
Closes an InputStream.
Parameters
-
is
- The InputStream.
close(Writer) Method
public void close(Writer writer)
Closes a Writer.
Parameters
-
writer
- The Writer stream.
close(OutputStream) Method
public void close(OutputStream os)
Closes an OutputStream.
Parameters
-
os
- The OutputStream to close.
commitConnection(Connection) Method
public boolean commitConnection(Connection connection)
throws SQLException
Exceptions
-
SQLException
createPreparedStatement(String) Method
protected PreparedStatement createPreparedStatement(String key)
throws SQLException
Creates a PreparedStatement based on queries found in ResourceBundle.
Parameters
-
key
- The value in ResourceBundle which contains SQL Statement.
Returns
- A PreparedStatement using the current Connection.
Exceptions
-
SQLException
endBlob() Method
public void endBlob()
throws SQLException
Commits Blob transaction.
Exceptions
-
SQLException
- Thrown when committing Blob.
endClob() Method
public void endClob()
throws SQLException
Commits Clob transaction.
Exceptions
-
SQLException
- Thrown when committing Clob.
getApplicationName() Method
public String getApplicationName()
Get the name of the current WebLogic J2EE application
or return null if not running within a WebLogic J2EE
context.
Returns
- The WebLogic J2EE application.
getBlob(ResultSet, int) Method
public byte[] getBlob(ResultSet rs,
int index)
throws SQLException
Retrieve Blob value as a byte[] from a ResultSet.
Parameters
-
rs
- The ResultSet containing the Blob.
-
index
- The position of the Blob in the ResultSet.
Returns
- byte[] containing the binary value of the Blob.
Exceptions
-
SQLException
- on an error
getBlobLocator(Connection, String, String, String) Method
public OutputStream getBlobLocator(Connection con,
String tableName,
String blobColumnName,
String whereClause)
throws SQLException
Gets an OutputStream to the BlobLocator object. Should be null
for Pointbase.
Returns
- OutputStream An outputStream pointing to the BlobLocator.
Exceptions
-
SQLException
- on an error.
getClob(ResultSet, int) Method
public String getClob(ResultSet rs,
int index)
throws SQLException
Description copied from Database.getClob(ResultSet, int)
Get the value of a CLOB column as a string.
This method will only return the value of the CLOB in the current row
of the ResultSet.
This method does not increment the ResultSet cursor. You must
use ResultSet.next() to increment the cursor before calling this method. This
allows the method to be used to process multi-row ResultSets.
If no JdbcHelperDelegate is specified in the console (configured via JdbcHelperMBean)
then this method will return a string obtained using the default method that
was used before a delegate model was implemented for this class. That
method uses Clob.getCharacterStream() to construct a BufferedReader
that is read in with the readLine() method.
Parameters
-
rs
- the result set.
-
index
- the column index in the result set.
Returns
- the column as a string.
Exceptions
-
SQLException
getClobLocator(Connection, String, String, String) Method
public Clob getClobLocator(Connection con,
String tableName,
String clobColumnName,
String whereClause)
throws SQLException
Exceptions
-
SQLException
getClobTableName() Method
public String getClobTableName()
Used to retrieve the name of the table that stores Clobs.
Returns
- The name of the database table used to persist CLOB datatypes.
getConnection() Method
public Connection getConnection()
Return Connection object of the current Database instance.
Returns
- The Connection object of the current Database instance.
getEmptyBlobInitializer() Method
public String getEmptyBlobInitializer()
throws SQLException
Returns an empty String since Pointbase doesn't use initializers.
Returns
- String Name of function to initialize a Blob.
Exceptions
-
SQLException
- on an error.
getEmptyClobInitializer() Method
public String getEmptyClobInitializer()
throws SQLException
Exceptions
-
SQLException
getName() Method
public String getName()
The name of this GenericDatabase instance.
Returns
- String The name of the GenericDatabase instance.
getProperty(String) Method
protected String getProperty(String propertyName)
Used to retrieve a property in the ResourceBundle.
Parameters
-
propertyName
- The name of the property in the ResourceBundle.
Returns
- The value associated with the property.
printSqlWarning(SQLWarning) Method
protected void printSqlWarning(SQLWarning warning)
Prints the SQLWarning to System.err.
Parameters
-
warning
- The SQLWarning from a Connection, Statement, or ResultSet.
readFromClob(Clob) Method
public String readFromClob(Clob clob)
throws SQLException
Reads the contents of a Clob and returns as a String.
Parameters
-
clob
- The ResultSet object to be closed.
Returns
- The contents of the Clob as a String.
Exceptions
-
SQLException
- Thrown when error occurs while reading Clob.
readFromClob(ResultSet, int) Method
public String readFromClob(ResultSet resultSet,
int index)
throws SQLException
Reads the contents of a Clob and returns as a String.
Parameters
-
resultSet
- The ResultSet returned from a Statement
query.
-
index
- The column index where the Clob can be found in
the ResultSet.
Returns
- The contents of the Clob as a String.
Exceptions
-
SQLException
- Thrown when error occurs when reading ResultSet.
setClob(PreparedStatement, int, String) Method
public void setClob(PreparedStatement stmt,
int index,
String str)
throws SQLException
Description copied from Database.setClob(PreparedStatement, int, String)
Set the value of a CLOB column with a string.
Parameters
-
stmt
- the prepared statement.
-
index
- the column index.
-
str
- the CLOB string.
Exceptions
-
SQLException
setClob(PreparedStatement, int, Clob, String) Method
public boolean setClob(PreparedStatement stmt,
int index,
Clob clob,
String str)
throws SQLException
Description copied from Database.setClob(PreparedStatement, int, Clob, String)
If there is a delegate, this method uses JdbcHelperDelegate.writeClobData()
If this is done, then the PreparedStatement does not need to be used and the return value,
executeRequired, is false. The CLOB should be first located with getClobLocator()
If there is no delegate, then this method ignores the Clob argument and
sets the value of the String into the CLOB placeholder in the PreparedStatement with
setClob(PreparedStatement stmt, int index, String str) and returns
executeRequired = true.
WARNING: if using a delegate to stream data to a CLOB, then
you should have used Connection.setAutoCommit(false) before calling the
CLOB locator method that provided the Clob you are using in this
method call. This will make the CLOB available across multiple SQL statements.
Parameters
-
stmt
- the prepared statement.
-
index
- the column index.
-
clob
- the CLOB locator (ignored if no delegate).
-
str
- the String to be set in the CLOB (if delegate) or in the PreparedStatement (if no delegate)
Returns
- boolean executeRequired. If false then a delegate was used to directly set the CLOB in
the database without using the PreparedStatement. If true then no delegate was
used, or the delegate set the Clob value on the statement and
the PreparedStatement must be executed to update the database.
Exceptions
-
SQLException
startBlob() Method
public void startBlob()
throws SQLException
Starts the transaction to commit Blob.
Exceptions
-
SQLException
- Thrown when setting auto-commit to false.
startClob() Method
public void startClob()
throws SQLException
Starts the transaction to commit Clob.
Exceptions
-
SQLException
- Thrown when setting auto-commit to false.
writeToClob(Clob, String) Method
public void writeToClob(Clob clob,
String data)
throws SQLException
Writes the data from a String into a Clob.
Parameters
-
clob
- The target Clob object.
-
data
- The data to be converted to a Clob in the form of a String.
Exceptions
-
SQLException
- Thrown because this is an unsupported operation.
writeToClob(PreparedStatement, int, String) Method
public Reader writeToClob(PreparedStatement statement,
int index,
String data)
throws SQLException
Writes the data from a String into a Clob using a PreparedStatement.
Parameters
-
statement
- The PreparedStatement that holds the query.
-
index
- The index in the PreparedStatement that holds the Clob.
-
data
- The data to be converted to be written as a Clob.
Exceptions
-
SQLException
- Thrown when retrieving character stream from statement.