About BeanShield - Project

BeanShield is a powerful Java library, that makes it easy to directly use your complex entity model in your UI (Web based and Client) without the need to copy or clone data to be able to rollback changes when a user clicks "Cancel". Typical data management user interfaces make it necessary to support revertable units of work. That means you will have to provide a solution to restore a certain entity (ie. bean) state whenever the user clicks "Cancel". Usually you will have to copy or clone your entity data to be able to implement this. With BeanShield there is no need to copy or clone any data. BeanShield uses proxies to "shield" your beans from any user changes and only modifies the underlying beans when you tell it to commit the changes. It is even possible to nest BeanShield sessions, so you can easily build complex user interfaces with nested edit dialogs. Just think of BeanShield as a means to have nested transactions for your beans in memory.