|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1) E10653-04 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DBTransaction
Interface representing the server side of database connections and transactions.
This interface encapsulates the JDBC connection that is used by the framework to perform database operations.
Field Summary | |
---|---|
static int |
DEFAULT
interface constant to inicate that row prefetch should be left as driver default |
Fields inherited from interface oracle.jbo.Transaction |
---|
DML_OPERATION_TIMEOUT_WAIT_FOREVER, LOCK_NONE, LOCK_OPTIMISTIC, LOCK_OPTUPDATE, LOCK_PESSIMISTIC |
Method Summary | |
---|---|
void |
addTransactionListener(TransactionListener listener)
Adds a listener to the transaction's list of event subscribers. |
void |
addTransactionListenerNoCheck(TransactionListener listener)
Adds a listener to the transaction's event subscribers list, without checking whether the listener is already on the list. |
void |
addTransactionPostListener(TransactionPostListener listener)
Adds a listener to the transaction's list of post-phase event subscribers. |
void |
addTransactionPostListenerNoCheck(TransactionPostListener listener)
Adds a listener to the transaction's list of post-phase event subscribers, without checking whether the listener is already on the list. |
void |
addWarning(JboWarning warn)
Adds a warning to the root Application Module's current list of warnings. |
void |
closeTransaction()
Closes this transaction's JDBC connection. |
void |
connect(java.sql.Connection conn)
Deprecated. |
void |
connectToDataSource(javax.sql.DataSource ds,
boolean isJTABased)
|
void |
connectToDataSource(javax.sql.DataSource ds,
java.lang.String user,
java.lang.String passwd,
boolean isJTABased)
|
ApplicationModule |
createApplicationModule(java.lang.String defName)
Creates an Application Module. |
ApplicationModule |
createApplicationModule(java.lang.String amName,
java.lang.String defName)
Creates an instance of an nested Application Module within this Transaction For example, |
java.sql.CallableStatement |
createCallableStatement(java.lang.String str,
int noRowsPrefetch)
Creates a JDBC CallableStatement instance. |
EntityImpl |
createEntityInstance(EntityDefImpl entityDef,
AttributeList al)
Creates an EntityImpl instance based on the given defintion. |
EntityImpl |
createEntityInstance(java.lang.String entityDefName,
AttributeList al)
Creates an EntityImpl instance based on the named defintion. |
java.sql.PreparedStatement |
createPreparedStatement(java.lang.String str,
int noRowsPrefetch)
Creates a JDBC PreparedStatement instance. |
java.sql.Statement |
createStatement(int noRowsPrefetch)
Creates a JDBC Statement instance. |
ViewLink |
createViewLink(java.lang.String viewLinkDefName,
ViewObject master,
ViewObject detail)
Creates a View Link. |
ViewLink |
createViewLinkBetweenViewObjects(java.lang.String accessorName,
ViewObject master,
AttributeDef[] srcAttrs,
ViewObject detail,
AttributeDef[] destAttrs,
java.lang.String assocClause)
Creates a View Link. |
ViewLink |
createViewLinkFromEntityAssocName(java.lang.String entityAssocName,
ViewObject master,
ViewObject detail)
Creates a View Link. |
ViewObject |
createViewObject(java.lang.String voDefName)
Creates a ViewObject instance based on the named defintion. |
ViewObject |
createViewObjectFromQueryClauses(java.lang.String eoName,
java.lang.String selectClause,
java.lang.String fromClause,
java.lang.String whereClause,
java.lang.String orderByClause)
Creates an updatable View Object. |
ViewObject |
createViewObjectFromQueryStmt(java.lang.String sqlStatement)
Creates a View Object from a SQL statement. |
ViewObject |
createViewObjectFromQueryStmt(java.lang.String sqlStatement,
java.lang.String voImplClassName)
Creates a View Object from a SQL statement. |
void |
disconnect(boolean retainState)
Closes the JDBC connection object and removes this transaction from the root application module. |
ApplicationModule |
findApplicationModule(java.lang.String amName)
Returns the named Application Module. |
EntityImpl |
findByPrimaryKey(EntityDefImpl entityDef,
Key key)
Finds an Entity Object in this transaction given a Primary Key. |
EntityImpl |
findByPrimaryKey(java.lang.String entityDefName,
Key key)
Finds an Entity Object in this transaction given a Primary Key. |
ViewObject |
findViewObject(java.lang.String voName)
Find a view object with the specified name. |
int |
getBatchPostExceptionThreshold()
In case of batch mode post operation, try to post the batched set of entities for each entity type and post operation (Insert/Update/Delete) for this many number of exceptions. |
int |
getPostThreshold()
Gets the threshold value for the commit-cycle's post phase. |
ApplicationModule |
getRootApplicationModule()
|
Session |
getSession()
Gets the session information. |
SQLBuilder |
getSQLBuilder()
|
TransactionHandler |
getTransactionHandler()
Internal: Applications should not use this method. |
int |
getValidationThreshold()
Gets the threshold value for the commit-cycle's validation phase. |
boolean |
isConnected(boolean pingDatabase)
|
boolean |
isLockOptimistic()
Indicates whether the current locking mode is optimistic or not. |
boolean |
isTrackNewAndModifiedRowsOnly()
Advanced: Most applications should not use this method |
void |
reconnect()
Reconnect the application module to the database, if necessary, using previously supplied database credentials. |
void |
removeTransactionListener(TransactionListener listener)
Removes the listener from the transactions list of event subscribers. |
void |
removeTransactionPostListener(TransactionPostListener listener)
Removes a listener from the transaction's list of post-phase event subscribers. |
void |
setBatchPostExceptionThreshold(int count)
Set this value to 0 to let all the modified entities be posted for each entity type and entity-DML operation to collect possible exceptions for all such entities. |
void |
setPostThreshold(int count)
Sets the threshold value for the commit-cycle's post phase. |
void |
setTrackNewAndModifiedRowsOnly(boolean flag)
Advanced: Most applications should not use this method |
void |
setTransactionHandler(TransactionHandler txnHandler)
Internal: Applications should not use this method. |
void |
setValidationThreshold(int count)
Sets the threshold value for the commit-cycle's validation phase. |
Methods inherited from interface oracle.jbo.server.ValidationManager |
---|
addToValidationListeners, validate |
Field Detail |
---|
static final int DEFAULT
Method Detail |
---|
void closeTransaction()
Rollback is performed on the current transaction to reset all the data in the cache to their initial state, and then the JDBC connection is dropped.
This method is invoked by ApplicationModule.disconnect()
,
which should be called so that JDBC resources will be properly released.
void setPostThreshold(int count)
When commit()
is invoked the framework attempts to post
the transaction's modifications, making count attempts before
failing with an exception. This mechanism allows applications to update
data in the cache within the post phase, and commit all changes.
count
- the new threshold value.int getPostThreshold()
void setValidationThreshold(int count)
When commit()
is invoked the framework attempts to validate
the transaction's modifications, making count attempts before
failing with an exception. This mechanism allows applications to update
data in the cache within the validation phase, and validate them
before they are posted.
count
- the new threshold value.int getValidationThreshold()
void addTransactionListener(TransactionListener listener)
Listeners are notified of commit and rollback events spawned
by the commit()
or rollback()
methods.
The framework adds modified top-level Entity Objects to this list.
listener
- the subscriber to be added.void addTransactionListenerNoCheck(TransactionListener listener)
Listeners are notified of commit and rollback events spawned
by the commit()
or rollback()
methods.
The framework adds modified top-level Entity Objects to this list.
listener
- the subscriber to be added.void removeTransactionListener(TransactionListener listener)
listener
- the subscriber to be removed.void addTransactionPostListener(TransactionPostListener listener)
Listeners are notified of events spawned
by the postChanges()
method.
The framework adds modified top-level Entity Objects to this list.
listener
- the subscriber to be added.void addTransactionPostListenerNoCheck(TransactionPostListener listener)
Listeners are notified of events spawned
by the postChanges()
method.
The framework adds modified top-level Entity Objects to this list.
listener
- the subscriber to be added.void removeTransactionPostListener(TransactionPostListener listener)
java.sql.Statement createStatement(int noRowsPrefetch)
Applications may use this method to create a JDBC statement object to execute application specific SQL statements directly, so that the modifications are committed to the database in a single transaction through this object.
noRowsPrefetch
- the number of rows to prefetch when executing
this statement's query.
java.sql.CallableStatement createCallableStatement(java.lang.String str, int noRowsPrefetch)
Applications may use this method to create a JDBC callable statement object to execute application-specific SQL statements directly, so that the modifications are committed to the database in a single transaction through this object.
str
- the CallableStatement instance's SQL statement.noRowsPrefetch
- the number of rows to prefetch when executing
this statement's query. If this parameter is set to DBTransaction.DEFAULT,
then the default value from the jdbc driver is used.
java.sql.PreparedStatement createPreparedStatement(java.lang.String str, int noRowsPrefetch)
Applications may use this method to create a JDBC callable statement object to execute application specific SQL statements directly, so that the modifications are committed to the database in a single transaction through this object.
str
- the PreparedStatement instance's SQL statement.noRowsPrefetch
- the number of rows to prefetch when executing
this statement's query. If this parameter is set to DBTransaction.DEFAULT,
then the default value from the jdbc driver is used.
TransactionHandler getTransactionHandler()
void setTransactionHandler(TransactionHandler txnHandler)
void connect(java.sql.Connection conn)
void connectToDataSource(javax.sql.DataSource ds, boolean isJTABased)
void connectToDataSource(javax.sql.DataSource ds, java.lang.String user, java.lang.String passwd, boolean isJTABased)
void reconnect()
reconnect
in interface Transaction
void disconnect(boolean retainState)
All ViewObjects should have fetched all their data or be in forwardonly mode before this method is invoked with retainState = true
In the middle-tier, you can also use the disconnect
method on the DBTransactionImpl
interface.
disconnect
in interface Transaction
EntityImpl createEntityInstance(EntityDefImpl entityDef, AttributeList al)
entityDef
- the defintion to to be used to create the instance.al
- an attribute list to be passed to the new instance's
create() method.
EntityImpl createEntityInstance(java.lang.String entityDefName, AttributeList al)
entityDefName
- the name of the defintion to to be used to create the instance.al
- an attribute list to be passed to the new instance's
create() method.
EntityImpl findByPrimaryKey(EntityDefImpl entityDef, Key key)
entityDef
- the defintion to to be used to find the instance.key
- the Primary Key.
EntityImpl findByPrimaryKey(java.lang.String entityDefName, Key key)
entityDefName
- the name of the defintion to to be used to find the instance.key
- the Primary Key.
ApplicationModule createApplicationModule(java.lang.String amName, java.lang.String defName)
oracle.jbo.ApplicationModule nestedAM = dbtxn.createApplicationModule("subAppMod", "PackageName.AppModuleName");
This application module can control the namespace of objects that are contained within it.
amName
- the name to be given to the Application Module.
If amName
is empty, a name is generated.defName
- the name of the Application Module definition to be used.
If null
a default definition is used.
ApplicationModule findApplicationModule(java.lang.String amName)
oracle.jbo.ApplicationModule am = dbTxn.findApplicationModule("KpiAM");
amName
- the name of the Application Module.
InvalidObjNameException
- if the name cannot be found.ViewObject createViewObject(java.lang.String voDefName)
The caller should invoke remove() to dispose of the instance.
voDefName
- the name of the defintion to to be used to create the instance.
ViewObject createViewObjectFromQueryClauses(java.lang.String eoName, java.lang.String selectClause, java.lang.String fromClause, java.lang.String whereClause, java.lang.String orderByClause)
The View Object is constructed from an Entity Object and parts of a SQL statement.
The caller should invoke remove() to dispose of the instance.
eoName
- the name of a EntityObject
beaninfo class.selectClause
- an SQL statement SELECT clause.fromClause
- an SQL statement FROM clause.whereClause
- an SQL statement WHERE clause.orderByClause
- an SQL statement ORDERBY clause.ViewObject createViewObjectFromQueryStmt(java.lang.String sqlStatement)
The caller should invoke remove() to dispose of the instance.
sqlStatement
- a SQL statement.ViewObject createViewObjectFromQueryStmt(java.lang.String sqlStatement, java.lang.String voImplClassName)
The caller should invoke remove() to dispose of the instance.
sqlStatement
- a SQL statement.voImplClassName
- a class name that is a subclass of the
oracle.jbo.server.ViewObjectImpl
framework class.
ViewObject findViewObject(java.lang.String voName)
Root processOrderAM CustomerVO
transaction.findViewObject("processOrderAM.customerVO")
and
transaction.findViewObject("Root.processOrderAM.customerVO")
are both allowed
and equivalent.
voName
- the name of the view object.
null
if the view object
is not found.
NoObjException
- if an AM-qualified name was specified and the
containing application module could not be found.
InvalidObjNameException
- if voName
is an invalid name.
voName
must be a vaild Java name.ApplicationModule createApplicationModule(java.lang.String defName)
defName
- the name of the Application Module definition to be used.
If null
a default definition is used.
ViewLink createViewLink(java.lang.String viewLinkDefName, ViewObject master, ViewObject detail)
viewLinkDefName
- the name of the definition to be used to create the link.
If empty a default definition will be used.master
- the link's source.detail
- the link's destination.
InvalidParamException
- if master
or detail
are invalid.
InvalidObjNameException
- if viewLinkName
is invalid.
NameClashException
- if viewLinkName
already exists.ViewLink createViewLinkFromEntityAssocName(java.lang.String entityAssocName, ViewObject master, ViewObject detail)
entityAssocName
- the entity association that the View Link will represent.master
- the link's source.detail
- the link's destination.
InvalidParamException
- if master
,
detail
, or entityAssocName
are invalid.
InvalidObjNameException
- if viewLinkName
is invalid.
NameClashException
- if viewLinkName
already exists.ViewLink createViewLinkBetweenViewObjects(java.lang.String accessorName, ViewObject master, AttributeDef[] srcAttrs, ViewObject detail, AttributeDef[] destAttrs, java.lang.String assocClause)
accessorName
- the name to be given to the View Link's accessor.master
- the link's source.srcAttrs
- link attributes taken from the master View Object.detail
- the link's destination.destAttrs
- link attributes taken from the detail View Object.assocClause
-
InvalidParamException
- if master
or detail
are invalid.
InvalidObjNameException
- if viewLinkName
or accessorName
are invalid.
NameClashException
- if viewLinkName
or accessorName
already exist.void addWarning(JboWarning warn)
These warnings may be used for diagnostic purposes and may contain application-specific messages.
warn
- a warning message.Session getSession()
java.lang.IllegalStateException
- if the session information cannot be found.SQLBuilder getSQLBuilder()
void setTrackNewAndModifiedRowsOnly(boolean flag)
Sets this transaction into a mode where this transaction will post/commit only those new entities that have been modified by a setAttribute call. Entities that were created/inserted into collections but never updated by a setAttribute will not be placed in the transaction's list and hence will not get validated, posted or committed.
This is useful in UIs where the application may create five new rows for display and only update say one or two of them. So only one or two of those rows are added to the transaction. The rest of the entites are in STATUS_INITIALIZED state and are not added to the Entity-cache or Transaction.
boolean isTrackNewAndModifiedRowsOnly()
Returns true if this transaction allows entities to be in STATUS_INITIALIZED state.
int getBatchPostExceptionThreshold()
setBatchPostExceptionThreshold(int)
void setBatchPostExceptionThreshold(int count)
boolean isConnected(boolean pingDatabase)
ApplicationModule getRootApplicationModule()
boolean isLockOptimistic()
true
if the locking mode is LOCK_OPTIMISTIC
or LOCK_OPTUPDATE
.
|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1) E10653-04 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |