public class CommandSessionImpl extends java.lang.Object implements CommandSession, Converter
Modifier and Type | Class and Description |
---|---|
(package private) class |
CommandSessionImpl.JobImpl |
CommandSession.Utils
Modifier and Type | Field and Description |
---|---|
protected java.nio.channels.Channel[] |
channels |
private boolean |
closed |
private static java.lang.String |
COLUMN |
static java.lang.String |
COMMANDS |
static java.lang.String |
CONSTANTS |
private java.nio.file.Path |
currentDir |
protected java.io.OutputStream |
err |
private java.util.concurrent.ExecutorService |
executor |
protected java.io.InputStream |
in |
private JobListener |
jobListener |
private java.util.List<CommandSessionImpl.JobImpl> |
jobs |
protected java.io.OutputStream |
out |
protected java.io.PrintStream |
perr |
protected java.io.PrintStream |
pout |
private CommandProcessorImpl |
processor |
static java.lang.String |
SESSION_CLOSED |
protected java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> |
variables |
static java.lang.String |
VARIABLES |
OPTION_NO_GLOB
CONVERTER_CLASSES, INSPECT, LINE, PART
Modifier | Constructor and Description |
---|---|
protected |
CommandSessionImpl(CommandProcessorImpl shell,
CommandSessionImpl parent) |
protected |
CommandSessionImpl(CommandProcessorImpl shell,
java.io.InputStream in,
java.io.OutputStream out,
java.io.OutputStream err) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close this command session.
|
java.lang.Object |
convert(java.lang.Class<?> desiredType,
java.lang.Object in)
Convert an object to another type.
|
CommandSessionImpl.JobImpl |
createJob(java.lang.CharSequence command) |
java.nio.file.Path |
currentDir() |
void |
currentDir(java.nio.file.Path path) |
static CommandSessionImpl.JobImpl |
currentJob() |
java.lang.Object |
doConvert(java.lang.Class<?> desiredType,
java.lang.Object in) |
java.lang.Object |
execute(java.lang.CharSequence commandline)
Execute a program in this session.
|
java.lang.Object |
expr(java.lang.CharSequence expr) |
CommandSessionImpl.JobImpl |
foregroundJob()
Get the current foreground job or null.
|
java.lang.CharSequence |
format(java.lang.Object result,
int inspect)
Convert an object to string form (CharSequence).
|
java.lang.CharSequence |
format(java.lang.Object target,
int level,
Converter escape)
Convert an objet to a CharSequence object in the requested format.
|
java.lang.Object |
get(java.lang.String name)
Get the value of a variable.
|
java.io.PrintStream |
getConsole()
Return the PrintStream for the console.
|
java.io.InputStream |
getKeyboard()
Return the input stream that is the first of the pipeline.
|
java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> |
getVariables() |
(package private) java.lang.CharSequence |
inspect(java.lang.Object b) |
java.util.List<Job> |
jobs()
List jobs.
|
CommandProcessor |
processor() |
java.lang.Object |
put(java.lang.String name,
java.lang.Object value)
Set the value of a variable.
|
void |
setJobListener(JobListener listener)
Set the job listener for this session.
|
(package private) ThreadIO |
threadIO() |
public static final java.lang.String SESSION_CLOSED
public static final java.lang.String VARIABLES
public static final java.lang.String COMMANDS
public static final java.lang.String CONSTANTS
private static final java.lang.String COLUMN
protected java.io.InputStream in
protected java.io.OutputStream out
protected java.io.PrintStream pout
protected java.io.OutputStream err
protected java.io.PrintStream perr
protected java.nio.channels.Channel[] channels
private final CommandProcessorImpl processor
protected final java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> variables
private volatile boolean closed
private final java.util.List<CommandSessionImpl.JobImpl> jobs
private JobListener jobListener
private final java.util.concurrent.ExecutorService executor
private java.nio.file.Path currentDir
protected CommandSessionImpl(CommandProcessorImpl shell, CommandSessionImpl parent)
protected CommandSessionImpl(CommandProcessorImpl shell, java.io.InputStream in, java.io.OutputStream out, java.io.OutputStream err)
ThreadIO threadIO()
public CommandProcessor processor()
public java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getVariables()
public java.nio.file.Path currentDir()
currentDir
in interface CommandSession
public void currentDir(java.nio.file.Path path)
currentDir
in interface CommandSession
public void close()
CommandSession
close
in interface java.lang.AutoCloseable
close
in interface CommandSession
public java.lang.Object execute(java.lang.CharSequence commandline) throws java.lang.Exception
CommandSession
execute
in interface CommandSession
java.lang.Exception
public java.io.InputStream getKeyboard()
CommandSession
getKeyboard
in interface CommandSession
public java.lang.Object get(java.lang.String name)
CommandSession
get
in interface CommandSession
public java.lang.Object put(java.lang.String name, java.lang.Object value)
CommandSession
put
in interface CommandSession
name
- Name of the variable.value
- Value of the variablepublic java.io.PrintStream getConsole()
CommandSession
getConsole
in interface CommandSession
public java.lang.CharSequence format(java.lang.Object target, int level, Converter escape) throws java.lang.Exception
Converter
java.lang.CharSequence inspect(java.lang.Object b)
public java.lang.Object convert(java.lang.Class<?> desiredType, java.lang.Object in)
CommandSession
convert
in interface CommandSession
convert
in interface Converter
desiredType
- The type that the returned object can be assigned toin
- The object that must be convertedpublic java.lang.Object doConvert(java.lang.Class<?> desiredType, java.lang.Object in)
public java.lang.CharSequence format(java.lang.Object result, int inspect)
CommandSession
format
in interface CommandSession
public java.lang.Object expr(java.lang.CharSequence expr)
public java.util.List<Job> jobs()
CommandSession
jobs
in interface CommandSession
public static CommandSessionImpl.JobImpl currentJob()
public CommandSessionImpl.JobImpl foregroundJob()
CommandSession
foregroundJob
in interface CommandSession
public void setJobListener(JobListener listener)
CommandSession
setJobListener
in interface CommandSession
public CommandSessionImpl.JobImpl createJob(java.lang.CharSequence command)