package org.keycloak.testsuite.cli.exec;
import java.io.InputStream;
/**
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
*/
public abstract class AbstractExecBuilder<T> {
protected String workDir;
protected String argsLine;
protected InputStream stdin;
protected String env;
protected boolean dumpStreams;
public AbstractExecBuilder<T> workDir(String path) {
this.workDir = path;
return this;
}
public AbstractExecBuilder<T> argsLine(String cmd) {
this.argsLine = cmd;
return this;
}
public AbstractExecBuilder<T> stdin(InputStream is) {
this.stdin = is;
return this;
}
public AbstractExecBuilder<T> env(String env) {
this.env = env;
return this;
}
public AbstractExecBuilder<T> fullStreamDump() {
this.dumpStreams = true;
return this;
}
public abstract T execute();
public abstract T executeAsync();
}