package edu.umd.rhsmith.diads.meater.core.config.setup.ops.unit;
import edu.umd.rhsmith.diads.meater.core.config.ConfigUnit;
import edu.umd.rhsmith.diads.meater.core.config.setup.MEaterSetupConsole;
import edu.umd.rhsmith.diads.meater.core.config.setup.ops.SetupConsoleOperation;
public abstract class EditExternalUnitOperation<U extends ConfigUnit>
extends SetupConsoleOperation {
public EditExternalUnitOperation(String uiName, String shortName) {
super(uiName, shortName);
}
@Override
public void go(MEaterSetupConsole setup) {
// create a unit
U unit = this.createUnit();
// get a filename
setup.getConsole().say("Enter filename of unit to edit");
String filename = setup.getConsole().prompt(false);
// select the unit + filename
setup.selectExternalUnit(unit, filename);
}
protected abstract U createUnit();
}