/* ******************************************************************** Appropriate copyright notice */ package org.bedework.bwcli.bwcmd; import org.bedework.bwcli.BwCli; import org.bedework.util.cli.Cli; import org.bedework.util.cli.CommandInterpreter; import java.util.List; /** * User: mike * Date: 5/31/16 * Time: 15:12 */ public abstract class ApiCommand extends CommandInterpreter { private BwCli cli; public final static int exitNoApi = 100; public ApiCommand(final String cmdName, final String cmdPars, final String cmdDescription) { super(cmdName, cmdPars, cmdDescription); } public abstract void doExecute() throws Throwable; protected BwCli getBwCli() { return cli; } protected void setCli(final Cli val) { cli = (BwCli)val; } public HttpClient getCl() throws Throwable { return cli.getWebClient().getCl(); } public void execute(final Cli cli) { setCli(cli); try { doExecute(); } catch (final Throwable t) { //cli.setExitStatus(exitException); cli.error(t); } } protected void multiLine(final List<String> resp) { if (resp == null) { info("Null response"); return; } for (final String s: resp) { info(s); } } public void info(final String msg) { cli.info(msg); } }