Interface BeanDatabaseUpdateListener
- All Known Implementing Classes:
ConfigurationListener
This is a listener that is notified when changes are made to
the current
BeanDatabase
-
Method Summary
Modifier and TypeMethodDescriptionvoid
commitDatabaseChange
(BeanDatabase oldDatabase, BeanDatabase currentDatabase, Object commitMessage, List<Change> changes) This method is called after the change of database has already happened.void
prepareDatabaseChange
(BeanDatabase currentDatabase, BeanDatabase proposedDatabase, Object commitMessage, List<Change> changes) This method will be called prior to the bean database being updated.void
rollbackDatabaseChange
(BeanDatabase currentDatabase, BeanDatabase proposedDatabase, Object commitMessage, List<Change> changes) If anyprepareDatabaseChange(BeanDatabase, BeanDatabase, Object, List)
throws an exception this method will be called on all listeners whoseprepareDatabaseChange(BeanDatabase, BeanDatabase, Object, List)
had already been succesfully called.
-
Method Details
-
prepareDatabaseChange
void prepareDatabaseChange(BeanDatabase currentDatabase, BeanDatabase proposedDatabase, Object commitMessage, List<Change> changes) This method will be called prior to the bean database being updated. If this method throws an exception subsequent listeners prepare methods will not be called and the rollback method of any listeners that had run previously will be called and the proposedDatabase will not become the current database. If all the registered bean update listeners prepare methods return normally then the proposedDatabase will become the current database- Parameters:
currentDatabase
- The bean database that is current in effectproposedDatabase
- The bean database that will go into effectcommitMessage
- An object passed to the commit method in a dynamic changechanges
- The changes that were made to the current database
-
commitDatabaseChange
void commitDatabaseChange(BeanDatabase oldDatabase, BeanDatabase currentDatabase, Object commitMessage, List<Change> changes) This method is called after the change of database has already happened. If this method throws an exception subsequent listeners commit methods will be called, but theWriteableBeanDatabase.commit()
method will throw an exception, indicating a possibly inconsistent state- Parameters:
oldDatabase
- The database from which the current database was derivedcurrentDatabase
- The current bean databasecommitMessage
- An object passed to the commit method in a dynamic changechanges
- The changes that were made to arrive at the current database
-
rollbackDatabaseChange
void rollbackDatabaseChange(BeanDatabase currentDatabase, BeanDatabase proposedDatabase, Object commitMessage, List<Change> changes) If anyprepareDatabaseChange(BeanDatabase, BeanDatabase, Object, List)
throws an exception this method will be called on all listeners whoseprepareDatabaseChange(BeanDatabase, BeanDatabase, Object, List)
had already been succesfully called. If this method throws an exception subsequent listeners rollback methods will be called and the exception will be returned in the exception thrown to the caller ofWriteableBeanDatabase.commit()
method- Parameters:
currentDatabase
- The bean database that is current in effectproposedDatabase
- The bean database that was to go into effect (but which will not)commitMessage
- An object passed to the commit method in a dynamic changechanges
- The changes that were proposed to be made to the current database
-