package org.springmodules.prevayler.transaction;
import java.util.Date;
import org.prevayler.TransactionWithQuery;
import org.springmodules.prevayler.callback.PrevaylerCallback;
import org.springmodules.prevayler.system.PrevalentSystem;
/**
* Prevayler transaction command for executing a {@link org.springmodules.prevayler.PrevaylerCallback}.
* @author Sergio Bossa
*/
public class TransactionCommand implements TransactionWithQuery {
private static final long serialVersionUID = 476105268506330034L;
private PrevaylerCallback callback;
public TransactionCommand(PrevaylerCallback callback) {
this.callback = callback;
}
public Object executeAndQuery(Object object, Date date) throws Exception {
PrevalentSystem system= (PrevalentSystem) object;
return callback.doInTransaction(system);
}
}