package com.plectix.simulator.simulator.api.steps;
import java.io.PrintStream;
import java.io.PrintWriter;
import org.apache.commons.cli.HelpFormatter;
import com.plectix.simulator.SimulationMain;
import com.plectix.simulator.simulator.SimulationData;
import com.plectix.simulator.simulator.api.OperationType;
import com.plectix.simulator.simulator.options.OptionsSetSingleton;
public class DumpHelpOperation extends AbstractOperation<Object> {
private final SimulationData simulationData;
public DumpHelpOperation(SimulationData simulationData) {
super(simulationData, OperationType.DUMP_HELP);
this.simulationData = simulationData;
}
@Override
protected Object performDry() throws Exception {
PrintStream printStream = simulationData.getConsoleOutputManager().getPrintStream();
// do not print anything above because the line above might have turned
// the printing off...
if (printStream != null) {
PrintWriter printWriter = new PrintWriter(printStream);
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp(printWriter, HelpFormatter.DEFAULT_WIDTH,
SimulationMain.COMMAND_LINE_SYNTAX, null,
OptionsSetSingleton.getInstance(),
HelpFormatter.DEFAULT_LEFT_PAD,
HelpFormatter.DEFAULT_DESC_PAD, null, false);
printWriter.flush();
}
return null;
}
@Override
protected Object retrievePreparedResult() throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
protected boolean noNeedToPerform() {
return false;
}
}