public interface TransactionManager
Model verification and fixing must be implemented outside, and hooks must be passed to transaction.
Transaction can be read only - during such transaction no model modifications are allowed and any
of model modification throws ReadOnlyModelException
Modifier and Type | Interface and Description |
---|---|
static class |
TransactionManager.TransactionOptions
Transaction options.
|
Modifier and Type | Method and Description |
---|---|
void |
addTransactionCommitListener(TransactionCommitListener listener)
Adds new listener to listen transaction commits (post commits) events.
|
void |
commit()
Stops transaction.
|
java.util.Collection<TransactionCommitListener> |
getListeners() |
java.util.Collection<TransactionCommitListener> |
getListenersForFiring() |
ModelValidator |
getModelValidator()
Get validation hook which validates model integrity.
|
boolean |
isStarted() |
void |
removeTransactionCommitListener(TransactionCommitListener listener)
Removes listener from transaction commit listeners.
|
void |
runTransaction(java.lang.Runnable r)
Runs given code in new transaction.
|
void |
runTransaction(java.lang.Runnable r,
TransactionManager.TransactionOptions options)
Runs given code in new transaction.
|
void |
setInvalidModelHandler(InvalidModelHandler handler)
Sets handler which fixes model with verification errors.
|
void |
setModelValidator(ModelValidator validator)
Sets validation hook which validates model integrity.
|
void |
start()
Starts transaction.
|
void |
start(TransactionManager.TransactionOptions options)
Starts with given options.
|
void runTransaction(java.lang.Runnable r, TransactionManager.TransactionOptions options) throws RollbackException, TransactionAlreadyStartedException
r
- code to run.options
- transaction options to runRollbackException
- when model verification fails, and InvalidModelHandler
TransactionAlreadyStartedException
- when transaction already runningvoid runTransaction(java.lang.Runnable r) throws RollbackException, TransactionAlreadyStartedException
TransactionAlreadyStartedException
is thrown.r
- code to runRollbackException
- when model verification fails, and InvalidModelHandler
TransactionAlreadyStartedException
- If currently transaction is runningvoid start() throws TransactionAlreadyStartedException
TransactionAlreadyStartedException
- when there is running transactionboolean isStarted()
void commit() throws RollbackException, TransactionAlreadyCommitedException
RollbackException
is thrownRollbackException
- when transaction validation fails, and there is no way to fix model
except undoing last actionTransactionAlreadyCommitedException
- when transaction is not startedvoid start(TransactionManager.TransactionOptions options) throws TransactionAlreadyStartedException
ReadOnlyModelException
If transaction
Read only transactions are deprecated - normally queries on model can be done without transaction, and all modifications must be done through transaction.
options
- transaction optionsTransactionAlreadyStartedException
- if transaction is already startedvoid setInvalidModelHandler(InvalidModelHandler handler)
handler
- handler which fixes modelvoid setModelValidator(ModelValidator validator)
validator
- which validates model integrityModelValidator getModelValidator()
void addTransactionCommitListener(TransactionCommitListener listener)
listener
- listener to addvoid removeTransactionCommitListener(TransactionCommitListener listener)
listener
- listener to removejava.util.Collection<TransactionCommitListener> getListeners()
java.util.Collection<TransactionCommitListener> getListenersForFiring()