| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
The JDO Transaction interface provides for initiation and completion 
 of transactions under user control.
 It is a sub-interface of the PersistenceManager
 that deals with options and transaction demarcation. 
 
Transaction options include whether optimistic concurrency control should be used for the current transaction, whether instances may hold values in the cache outside transactions, and whether values should be retained in the cache after transaction completion. These options are valid for both managed and non-managed transactions.
Transaction completion methods have the same semantics as
 javax.transaction.UserTransaction, and are valid only in the
 non-managed, non-distributed transaction environment.
 
For operation in the distributed environment, Transaction is declared
 to implement javax.transaction.Synchronization.  This allows for
 flushing the cache to the data store during externally managed
 transaction completion.
| Method Summary | |
|  void | begin()Begin a transaction. | 
|  void | commit()Commit the current transaction. | 
|  boolean | getNontransactionalRead()If true, allows persistent instances to be read without
 a transaction active. | 
|  boolean | getNontransactionalWrite()If true, allows persistent instances to be written without
 a transaction active. | 
|  boolean | getOptimistic()Optimistic transactions do not hold data store locks until commit time. | 
|  PersistenceManager | getPersistenceManager()The Transactioninstance is always associated with exactly onePersistenceManager. | 
|  boolean | getRestoreValues()Return the current value of the restoreValues property. | 
|  boolean | getRetainValues()If true, at commit time instances retain their field values. | 
|  javax.transaction.Synchronization | getSynchronization()The user-specified Synchronizationinstance for thisTransactioninstance. | 
|  boolean | isActive()Returns whether there is a transaction currently active. | 
|  void | rollback()Roll back the current transaction. | 
|  void | setNontransactionalRead(boolean nontransactionalRead)If true, allow persistent instances to be read without
 a transaction active. | 
|  void | setNontransactionalWrite(boolean nontransactionalWrite)If true, allow persistent instances to be written without
 a transaction active. | 
|  void | setOptimistic(boolean optimistic)Optimistic transactions do not hold data store locks until commit time. | 
|  void | setRestoreValues(boolean restoreValues)If true, at rollback, fields of newly persistent instances 
 are restored to 
 their values as of the beginning of the transaction, and the instances
 revert to transient. | 
|  void | setRetainValues(boolean retainValues)If true, at commit instances retain their values and the instances
 transition to persistent-nontransactional. | 
|  void | setSynchronization(javax.transaction.Synchronization sync)The user can specify a Synchronizationinstance to be notified on
 transaction completions. | 
| Method Detail | 
public void begin()
JDOUserException - if transactions are managed by a container
 in the managed environment, or if the transaction is already active.setOptimistic(boolean), 
getOptimistic()public void commit()
JDOUserException - if transactions are managed by a container
 in the managed environment, or if the transaction is not active.public void rollback()
JDOUserException - if transactions are managed by a container
 in the managed environment, or if the transaction is not active.public boolean isActive()
true if the transaction is active.public void setNontransactionalRead(boolean nontransactionalRead)
true, allow persistent instances to be read without
 a transaction active.
 If an implementation does not support this option, a 
 JDOUnsupportedOptionException is thrown.
nontransactionalRead - the value of the nontransactionalRead propertypublic boolean getNontransactionalRead()
true, allows persistent instances to be read without
 a transaction active.
public void setNontransactionalWrite(boolean nontransactionalWrite)
true, allow persistent instances to be written without
 a transaction active.
 If an implementation does not support this option, a 
 JDOUnsupportedOptionException is thrown.
nontransactionalWrite - the value of the nontransactionalRead propertypublic boolean getNontransactionalWrite()
true, allows persistent instances to be written without
 a transaction active.
public void setRetainValues(boolean retainValues)
true, at commit instances retain their values and the instances
 transition to persistent-nontransactional.
 If an implementation does not support this option, a 
 JDOUnsupportedOptionException is thrown.
retainValues - the value of the retainValues propertypublic boolean getRetainValues()
true, at commit time instances retain their field values.
public void setRestoreValues(boolean restoreValues)
true, at rollback, fields of newly persistent instances 
 are restored to 
 their values as of the beginning of the transaction, and the instances
 revert to transient.  Additionally, fields of modified
 instances of primitive types and immutable reference types
 are restored to their values as of the beginning of the 
 transaction.
 If false, at rollback, the values of fields of 
 newly persistent instances are unchanged and the instances revert to
 transient.  Additionally, dirty instances transition to hollow.
 If an implementation does not support this option, a 
 JDOUnsupportedOptionException is thrown.
restoreValues - the value of the restoreValues propertypublic boolean getRestoreValues()
public void setOptimistic(boolean optimistic)
JDOUnsupportedOptionException is thrown.
optimistic - the value of the Optimistic flag.public boolean getOptimistic()
public void setSynchronization(javax.transaction.Synchronization sync)
Synchronization instance to be notified on
 transaction completions.  The beforeCompletion method is called prior
 to flushing instances to the data store.
 The afterCompletion method is called after performing state
 transitions of persistent and transactional instances, following 
 the data store commit or rollback operation.
 
Only one Synchronization instance can be registered with the 
 Transaction. If the application requires more than one instance to 
 receive synchronization callbacks, then the single application instance 
 is responsible for managing them, and forwarding callbacks to them.
sync - the Synchronization instance to be notified; null for nonepublic javax.transaction.Synchronization getSynchronization()
Synchronization instance for this Transaction instance.
Synchronization instance.public PersistenceManager getPersistenceManager()
Transaction instance is always associated with exactly one
 PersistenceManager.
PersistenceManager for this Transaction instance| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||