Here are a list of possible decorators to use to wrap a transaction.
public interface Transaction{ public void execute(); } //Execute a list of transactions commands in one transaction public class TransactionList? implements Transaction{ private final List _list; public TransactionList?(List trans){ _list= trans; } public void execute(){ Iterator iter = _list.iterator(); while(iter.hasNext()){ ((Transaction)iter.next()).execute(); } } }--MikeRettig