|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jasig.portal.rdbm.DatabaseMetaDataImpl
public class DatabaseMetaDataImpl
| Nested Class Summary | |
|---|---|
static class |
DatabaseMetaDataImpl.JdbcDb
|
static class |
DatabaseMetaDataImpl.OracleDb
|
static class |
DatabaseMetaDataImpl.PostgreSQLDb
|
| Field Summary | |
|---|---|
private java.lang.String |
databaseProductName
|
private java.lang.String |
databaseProductVersion
|
private javax.sql.DataSource |
dataSource
The DataSource that represents the server |
private java.lang.String |
dbUrl
|
private java.lang.String |
driverName
|
private java.lang.String |
driverVersion
|
private static JoinQueryString |
jdbcDb
|
private IJoinQueryString |
joinTest
The IJoinQueryString to use for performing outer joins |
private static JoinQueryString[] |
joinTests
Array of join tests to perform. |
private static org.apache.commons.logging.Log |
LOG
|
private static JoinQueryString |
oracleDb
|
private static JoinQueryString |
postgreSQLDb
|
private boolean |
supportsPreparedStatements
|
private boolean |
supportsTransactions
|
private static java.text.SimpleDateFormat |
TO_DATE_FORMAT
Define the oracle TO_DATE format |
private java.lang.String |
transactionTestMsg
|
private java.lang.String |
userName
|
private boolean |
useToDate
|
private boolean |
useTSWrapper
|
| Constructor Summary | |
|---|---|
DatabaseMetaDataImpl(javax.sql.DataSource ds)
Creates a new DatabaseMetaDataImpl with the specified
DataSource. |
|
| Method Summary | |
|---|---|
IJoinQueryString |
getJoinQuery()
Gets the appropriate IJoinQueryString implemenation for
the database. |
private void |
getMetaData(java.sql.Connection conn)
Gets meta data about the connection. |
void |
releaseConnection(java.sql.Connection conn)
|
private void |
runDatabaseTests()
Run a set of tests on the database to provide better meta data. |
java.lang.String |
sqlTimeStamp()
SQL TimeStamp format of current time. |
java.lang.String |
sqlTimeStamp(java.util.Date date)
SQL TimeStamp format a Date. |
java.lang.String |
sqlTimeStamp(long date)
SQL TimeStamp format a long. |
boolean |
supportsOuterJoins()
Returns true if the database server supports outer
joins. |
boolean |
supportsPreparedStatements()
Returns true if the database server supports prepared statements. |
boolean |
supportsTransactions()
Returns true if the database server supports transactions. |
private void |
testOuterJoins(java.sql.Connection conn)
Test the database to see if it really supports outer joins. |
private void |
testPreparedStatements(java.sql.Connection conn)
Tests the database for prepared statement support. |
private void |
testTimeStamp(java.sql.Connection conn)
Test the database to find the supported timestamp format |
private void |
testTransactions(java.sql.Connection conn)
Test the database to see if it really supports transactions |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private static final org.apache.commons.logging.Log LOG
private static final java.text.SimpleDateFormat TO_DATE_FORMAT
private static final JoinQueryString jdbcDb
private static final JoinQueryString postgreSQLDb
private static final JoinQueryString oracleDb
private static final JoinQueryString[] joinTests
private final javax.sql.DataSource dataSource
DataSource that represents the server
private IJoinQueryString joinTest
IJoinQueryString to use for performing outer joins
private boolean useTSWrapper
private boolean useToDate
private boolean supportsTransactions
private boolean supportsPreparedStatements
private java.lang.String transactionTestMsg
private java.lang.String databaseProductName
private java.lang.String databaseProductVersion
private java.lang.String driverName
private java.lang.String driverVersion
private java.lang.String userName
private java.lang.String dbUrl
| Constructor Detail |
|---|
public DatabaseMetaDataImpl(javax.sql.DataSource ds)
DatabaseMetaDataImpl with the specified
DataSource.
ds - The DataSource to use as the base for this server interface.| Method Detail |
|---|
public void releaseConnection(java.sql.Connection conn)
org.jasig.portal.rdbm.IDatabaseServer#releaseConnection(java.sql.Connection)public final IJoinQueryString getJoinQuery()
IDatabaseMetadataIJoinQueryString implemenation for
the database. If IDatabaseMetadata.supportsOuterJoins() returns false
this will return null.
getJoinQuery in interface IDatabaseMetadataIJoinQueryString implemenation.org.jasig.portal.rdbm.IDatabaseServer#getJoinQuery()public final boolean supportsOuterJoins()
IDatabaseMetadatatrue if the database server supports outer
joins. The query to use if this returns true can
be retrieved from the IDatabaseMetadata.getJoinQuery() method.
supportsOuterJoins in interface IDatabaseMetadatatrue if the server supports outer joins.org.jasig.portal.rdbm.IDatabaseServer#supportsOuterJoins()public final boolean supportsTransactions()
IDatabaseMetadatatrue if the database server supports transactions.
supportsTransactions in interface IDatabaseMetadatatrue if the server supports transactions.org.jasig.portal.rdbm.IDatabaseServer#supportsTransactions()public final boolean supportsPreparedStatements()
IDatabaseMetadatatrue if the database server supports prepared statements.
supportsPreparedStatements in interface IDatabaseMetadatatrue if the server supports prepared statements.org.jasig.portal.rdbm.IDatabaseServer#supportsPreparedStatements()public java.lang.String sqlTimeStamp()
IDatabaseMetadata
sqlTimeStamp in interface IDatabaseMetadataorg.jasig.portal.rdbm.IDatabaseServer#sqlTimeStamp()public java.lang.String sqlTimeStamp(long date)
IDatabaseMetadata
sqlTimeStamp in interface IDatabaseMetadatadate - The time in milliseconds to format.
org.jasig.portal.rdbm.IDatabaseServer#sqlTimeStamp(long)public java.lang.String sqlTimeStamp(java.util.Date date)
IDatabaseMetadata
sqlTimeStamp in interface IDatabaseMetadatadate - The date to format.
org.jasig.portal.rdbm.IDatabaseServer#sqlTimeStamp(java.util.Date)public java.lang.String toString()
toString in class java.lang.Objectprivate void runDatabaseTests()
private void getMetaData(java.sql.Connection conn)
conn - The connection to use.private void testPreparedStatements(java.sql.Connection conn)
conn - The connection to use.private void testOuterJoins(java.sql.Connection conn)
conn - The connection to use.private void testTimeStamp(java.sql.Connection conn)
conn - The connection to use.private void testTransactions(java.sql.Connection conn)
conn - The connection to use.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||