|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.sormula.active.ActiveDatabase
public class ActiveDatabase
A lightweight class for defining the DataSource
to be used by ActiveRecord
and related classes. This class may be serialized but the active transaction will not
be serialized.
Constructor Summary | |
---|---|
ActiveDatabase(javax.sql.DataSource dataSource)
Constructs for a data source and empty schema. |
|
ActiveDatabase(javax.sql.DataSource dataSource,
java.lang.String schema)
Constructs for a data source and schema. |
|
ActiveDatabase(java.lang.String dataSourceName)
Constructs for a data source name and empty schema. |
|
ActiveDatabase(java.lang.String dataSourceName,
java.lang.String schema)
Constructs for a data source name and schema. |
Method Summary | |
---|---|
void |
addNameTranslatorClass(java.lang.Class<? extends NameTranslator> nameTranslatorClass)
Adds a default name translator to use when none are defined for the table. |
ActiveTransaction |
getActiveTransaction()
Gets the transaction in use by this active database. |
javax.sql.DataSource |
getDataSource()
Gets the data source. |
static ActiveDatabase |
getDefault()
Gets the active database to use when none is specified. |
java.lang.Class<? extends NameTranslator> |
getNameTranslatorClass()
Deprecated. |
java.util.List<java.lang.Class<? extends NameTranslator>> |
getNameTranslatorClasses()
Gets the default name translators to be used when none are defined for the table. |
java.lang.String |
getSchema()
Gets the schema. |
boolean |
isReadOnly()
Gets read-only indicator. |
boolean |
isTimings()
Gets status of timings. |
void |
removeNameTranslatorClass(java.lang.Class<? extends NameTranslator> nameTranslatorClass)
Removes a default name translator. |
void |
setActiveTransaction(ActiveTransaction activeTransaction)
Sets the transaction in use. |
static void |
setDefault(ActiveDatabase activeDatabase)
Sets the default active database. |
void |
setNameTranslatorClass(java.lang.Class<? extends NameTranslator> nameTranslatorClass)
Deprecated. |
void |
setReadOnly(boolean readOnly)
Sets read-only indicator. |
void |
setTimings(boolean timings)
Sets timings enabled for all database operations. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ActiveDatabase(java.lang.String dataSourceName) throws ActiveException
DataSource
will be obtained from JNDI look up of dataSourceName. Typically web containers
require data source to be configured with a name like "someds" but the full path to the
data source contains an implied context of "java:comp/env". So the constructor parameter,
dataSourceName, would be "java:comp/env/someds".
dataSourceName
- name to use in JNDI look up of data source
ActiveException
- if error looking up data sourcepublic ActiveDatabase(java.lang.String dataSourceName, java.lang.String schema) throws ActiveException
DataSource
will be obtained from JNDI look up of dataSourceName. Typically web containers
require data source to be configured with a name like "someds" but the full path to the
data source contains an implied context of "java:comp/env". So the constructor parameter,
dataSourceName, would be "java:comp/env/someds".
dataSourceName
- name to use in JNDI look up of data sourceschema
- schema prefix for table names in sql
ActiveException
- if error looking up data sourcepublic ActiveDatabase(javax.sql.DataSource dataSource)
dataSource
- data source for active recordspublic ActiveDatabase(javax.sql.DataSource dataSource, java.lang.String schema)
dataSource
- data source for active recordsschema
- schema prefix for table names in sqlMethod Detail |
---|
public static ActiveDatabase getDefault()
ActiveTable.ActiveTable(Class)
and an ActiveRecord
that is not attached to a database will use the default active database.
setDefault(ActiveDatabase)
has not been
used to set the defaultpublic static void setDefault(ActiveDatabase activeDatabase)
getDefault()
for explanation.
activeDatabase
- default active databases or null to remove current defaultpublic javax.sql.DataSource getDataSource()
public java.lang.String getSchema()
public ActiveTransaction getActiveTransaction()
public void setActiveTransaction(ActiveTransaction activeTransaction) throws ActiveException
ActiveTransaction.begin()
when a transaction starts. Set
to null by ActiveTransaction.close()
and ActiveTransaction.rollback()
when the transaction
is over.
Only one active transaction may be in use at one time by the same instance of ActiveDatabase. Create an instance of ActiveDatabse for each possible active transaction that may be in use at the same time.
activeTransaction
- active transaction to use
ActiveException
- if a transaction is already in usepublic boolean isReadOnly()
SqlOperation.isReadOnly()
public void setReadOnly(boolean readOnly)
ModifyOperation
will fail with an exception. By default
read-only is false. Set to true as a safe-guard to prevent accidental
modification of database.
readOnly
- true to prevent modify operationsSqlOperation.setReadOnly(boolean)
@Deprecated public java.lang.Class<? extends NameTranslator> getNameTranslatorClass()
getNameTranslatorClasses()
instead of this method.
@Deprecated public void setNameTranslatorClass(java.lang.Class<? extends NameTranslator> nameTranslatorClass)
Column.translator()
. A new instance is created for each table.
Use addNameTranslatorClass(Class)
instead of this method.
nameTranslatorClass
- default name translator classpublic java.util.List<java.lang.Class<? extends NameTranslator>> getNameTranslatorClasses()
Database.getNameTranslatorClasses()
,
Table.translateName(String)
public void addNameTranslatorClass(java.lang.Class<? extends NameTranslator> nameTranslatorClass)
nameTranslatorClass
- class that will be used to translate table/column namesDatabase.addNameTranslatorClass(Class)
,
Table.translateName(String)
public void removeNameTranslatorClass(java.lang.Class<? extends NameTranslator> nameTranslatorClass)
nameTranslatorClass
- class to removeDatabase.removeNameTranslatorClass(Class)
,
Table.translateName(String)
public boolean isTimings()
public void setTimings(boolean timings)
timings
- true to enable all operations to record execution timings; false for no
operation timings by default
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |