package edu.harvard.iq.dataverse.engine.command;
import edu.harvard.iq.dataverse.DvObject;
import edu.harvard.iq.dataverse.engine.command.exception.CommandException;
import java.util.Map;
/**
* A command that does not return anything. Implementer should
* override {@link #executeImpl(edu.harvard.iq.dataverse.engine.command.CommandContext) }.
*
* @author michael
*/
public abstract class AbstractVoidCommand extends AbstractCommand<Void> {
public AbstractVoidCommand(DataverseRequest aRequest, DvObject dvObject) {
super(aRequest, dvObject);
}
public AbstractVoidCommand(DataverseRequest aRequest, DvNamePair dvp, DvNamePair... more) {
super(aRequest, dvp, more);
}
public AbstractVoidCommand(DataverseRequest aRequest, Map<String, DvObject> someAffectedDataversae) {
super(aRequest, someAffectedDataversae);
}
@Override
public final Void execute(CommandContext ctxt) throws CommandException {
executeImpl(ctxt);
return null;
}
protected abstract void executeImpl( CommandContext ctxt ) throws CommandException;
}