public abstract class AbstractCommandSupport extends AbstractLoggingBean implements Command, java.lang.Runnable, ExecutorServiceCarrier, SessionAware, SessionHolder<Session>, ServerSessionHolder
Command executions| Modifier and Type | Field and Description |
|---|---|
protected ExitCallback |
callback |
protected boolean |
cbCalled |
protected java.util.concurrent.Future<?> |
cmdFuture |
protected java.lang.Thread |
cmdRunner |
protected java.lang.String |
command |
protected Environment |
environment |
protected java.io.OutputStream |
err |
protected CloseableExecutorService |
executorService |
protected java.io.InputStream |
in |
protected java.io.OutputStream |
out |
protected ServerSession |
serverSession |
log| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCommandSupport(java.lang.String command,
CloseableExecutorService executorService) |
| Modifier and Type | Method and Description |
|---|---|
void |
destroy()
This method is called by the SSH server to destroy the command because
the client has disconnected somehow.
|
java.lang.String |
getCommand() |
Environment |
getEnvironment() |
java.io.OutputStream |
getErrorStream() |
CloseableExecutorService |
getExecutorService() |
ExitCallback |
getExitCallback() |
java.io.InputStream |
getInputStream() |
java.io.OutputStream |
getOutputStream() |
ServerSession |
getServerSession() |
Session |
getSession() |
protected java.util.concurrent.Future<?> |
getStartedCommandFuture() |
protected void |
onExit(int exitValue) |
protected void |
onExit(int exitValue,
java.lang.String exitMessage) |
void |
setErrorStream(java.io.OutputStream err)
Set the error stream that can be used by the shell to write its errors.
|
void |
setExitCallback(ExitCallback callback)
Set the callback that the shell has to call when it is closed.
|
void |
setInputStream(java.io.InputStream in)
Set the input stream that can be used by the shell to read input.
|
void |
setOutputStream(java.io.OutputStream out)
Set the output stream that can be used by the shell to write its output.
|
void |
setSession(ServerSession session) |
void |
start(Environment env)
Starts the command execution.
|
java.lang.String |
toString() |
getSimplifiedLoggerprotected final java.lang.String command
protected java.io.InputStream in
protected java.io.OutputStream out
protected java.io.OutputStream err
protected ExitCallback callback
protected Environment environment
protected java.util.concurrent.Future<?> cmdFuture
protected java.lang.Thread cmdRunner
protected CloseableExecutorService executorService
protected boolean cbCalled
protected ServerSession serverSession
protected AbstractCommandSupport(java.lang.String command,
CloseableExecutorService executorService)
public java.lang.String getCommand()
public Session getSession()
getSession in interface SessionHolder<Session>public ServerSession getServerSession()
getServerSession in interface ServerSessionHolderServerSession usedpublic void setSession(ServerSession session)
setSession in interface SessionAwaresession - The ServerSession in which this shell will be executed.public CloseableExecutorService getExecutorService()
getExecutorService in interface ExecutorServiceCarrierCloseableExecutorService to usepublic java.io.InputStream getInputStream()
public void setInputStream(java.io.InputStream in)
CommandsetInputStream in interface Commandin - The InputStream used by the shell to read input.public java.io.OutputStream getOutputStream()
public void setOutputStream(java.io.OutputStream out)
CommandsetOutputStream in interface Commandout - The OutputStream used by the shell to write its outputpublic java.io.OutputStream getErrorStream()
public void setErrorStream(java.io.OutputStream err)
CommandsetErrorStream in interface Commanderr - The OutputStream used by the shell to write its errorspublic ExitCallback getExitCallback()
public void setExitCallback(ExitCallback callback)
CommandsetExitCallback in interface Commandcallback - The ExitCallback to call when shell is closedpublic Environment getEnvironment()
protected java.util.concurrent.Future<?> getStartedCommandFuture()
public void start(Environment env) throws java.io.IOException
CommandLifecycleRunnable,
and this method should spawn a new thread like:
Thread(this).start();
start in interface CommandLifecycleenv - The Environmentjava.io.IOException - If failed to startpublic void destroy()
CommandLifecycledestroy in interface CommandLifecycleprotected void onExit(int exitValue)
protected void onExit(int exitValue,
java.lang.String exitMessage)
public java.lang.String toString()
toString in class java.lang.Object