public class Console
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
private static class |
Console.ConsoleShell |
| Modifier and Type | Field and Description |
|---|---|
private AliasManager |
aliasManager |
private CompletionHandler |
completionHandler |
private ConsoleBuffer |
consoleBuffer |
private ConsoleCallback |
consoleCallback |
private AeshContext |
context |
private boolean |
controlledMode |
private ConsoleOperation |
currentOperation |
private java.util.concurrent.ArrayBlockingQueue<int[]> |
cursorQueue |
private java.util.concurrent.ExecutorService |
executorService |
private ExportManager |
exportManager |
private boolean |
initiateStop |
private InputProcessor |
inputProcessor |
private java.util.concurrent.ArrayBlockingQueue<CommandOperation> |
inputQueue |
private static java.util.logging.Logger |
LOGGER |
private java.util.List<ConsoleOperation> |
operations |
private boolean |
processing |
private ProcessManager |
processManager |
private java.util.concurrent.ExecutorService |
readerService |
private boolean |
reading |
private boolean |
readingCursor |
private int[] |
readingInput |
private java.io.ByteArrayOutputStream |
redirectPipeErrBuffer |
private java.io.ByteArrayOutputStream |
redirectPipeOutBuffer |
private boolean |
running |
private Settings |
settings |
private Shell |
shell |
private AeshStandardStream |
standardStream |
| Modifier and Type | Method and Description |
|---|---|
CompletionRegistration |
addCompletion(Completion completion)
Add a Completion to the completion list
|
void |
changeOutputStream(java.io.PrintStream output) |
void |
clear()
Clear a ansi terminal
|
void |
clearBufferAndDisplayPrompt() |
void |
continuous() |
void |
controlled() |
void |
currentProcessFinished(Process process) |
private void |
displayPrompt() |
private void |
doStop()
Stop the Console, close streams, and reset terminals.
|
private java.io.PrintStream |
err() |
private void |
execute() |
private void |
execute(java.lang.String command) |
protected void |
finalize() |
private ConsoleOperation |
findAliases(ConsoleOperation operation) |
AeshContext |
getAeshContext() |
java.lang.String |
getBuffer()
Get the current console buffer line (no masking)
|
ConsoleCallback |
getConsoleCallback() |
ExportManager |
getExportManager() |
History |
getHistory()
Get the History object
|
protected CommandOperation |
getInput() |
java.lang.String |
getInputLine()
Read from the input stream and return when user have pressed enter.
|
protected InputProcessor |
getInputProcessor() |
private Shell |
getInternalShell() |
Prompt |
getPrompt() |
protected Settings |
getSettings() |
Shell |
getShell() |
private Terminal |
getTerminal() |
TerminalSize |
getTerminalSize() |
boolean |
hasInput() |
boolean |
hasRunningProcesses() |
private AeshStandardStream |
in() |
private void |
init()
Reset the Console with Settings
Can only be called after stop()
|
boolean |
isRunning() |
boolean |
isWaiting()
Returns true if the console is waiting for input and no foreground process is executing.
|
boolean |
isWaitingWithoutBackgroundProcess()
Returns true if the console is waiting for input and no process, foreground or background, is executing.
|
private java.io.PrintStream |
out() |
private ConsoleOperation |
parseCurrentOperation() |
private void |
parseInput(int[] input) |
private ConsoleOperation |
parseOperations()
Find the next ConsoleOutput based on operations
|
private void |
persistRedirection(java.lang.String fileName,
ControlOperator redirection) |
private ConsoleOperation |
processInternalCommands(ConsoleOperation output) |
private void |
processInternalOperation(CommandOperation commandOperation) |
private void |
processOperationResult(java.lang.String result) |
void |
pushToInputStream(java.lang.String input) |
void |
putProcessInBackground(int pid)
Put the current process in the background
|
void |
putProcessInForeground(int pid)
Put the current process in the foreground
|
private boolean |
read() |
private void |
readExecuteFile() |
void |
setCompletionEnabled(boolean completionEnabled)
Runtime enable/disable of completion capabilities
|
void |
setConsoleCallback(ConsoleCallback consoleCallback) |
void |
setPrompt(Prompt prompt)
Set the current prompt.
|
void |
start() |
private void |
startExecutor() |
private void |
startReader()
Read from the input stream, perform action according to mapped
operations/completions/etc
|
void |
stop() |
void |
updatePrompt(Prompt prompt)
Update the current prompt.
|
private Settings settings
private ConsoleCallback consoleCallback
private volatile boolean running
private volatile boolean initiateStop
private volatile boolean reading
private volatile int[] readingInput
private volatile boolean processing
private java.io.ByteArrayOutputStream redirectPipeOutBuffer
private java.io.ByteArrayOutputStream redirectPipeErrBuffer
private java.util.List<ConsoleOperation> operations
private ConsoleOperation currentOperation
private AliasManager aliasManager
private ExportManager exportManager
private Shell shell
private java.util.concurrent.ArrayBlockingQueue<CommandOperation> inputQueue
private java.util.concurrent.ArrayBlockingQueue<int[]> cursorQueue
private volatile boolean readingCursor
private java.util.concurrent.ExecutorService readerService
private java.util.concurrent.ExecutorService executorService
private AeshContext context
private ProcessManager processManager
private ConsoleBuffer consoleBuffer
private InputProcessor inputProcessor
private CompletionHandler completionHandler
private AeshStandardStream standardStream
private boolean controlledMode
private static final java.util.logging.Logger LOGGER
public Console(Settings settings)
protected void finalize()
throws java.lang.Throwable
finalize in class java.lang.Objectjava.lang.Throwableprotected Settings getSettings()
private void init()
throws java.io.IOException
java.io.IOException - streampublic TerminalSize getTerminalSize()
public History getHistory()
public void setPrompt(Prompt prompt)
prompt - promptpublic void updatePrompt(Prompt prompt)
prompt - public Prompt getPrompt()
public ExportManager getExportManager()
public void setConsoleCallback(ConsoleCallback consoleCallback)
public ConsoleCallback getConsoleCallback()
public void changeOutputStream(java.io.PrintStream output)
public boolean isWaiting()
public boolean isWaitingWithoutBackgroundProcess()
public void controlled()
public void continuous()
public void start()
private java.io.PrintStream out()
private java.io.PrintStream err()
private AeshStandardStream in()
public AeshContext getAeshContext()
public CompletionRegistration addCompletion(Completion completion)
completion - comppublic void setCompletionEnabled(boolean completionEnabled)
completionEnabled - public void stop()
private void doStop()
throws java.io.IOException
java.io.IOException - streampublic boolean isRunning()
public void clearBufferAndDisplayPrompt()
protected CommandOperation getInput() throws java.lang.InterruptedException
java.lang.InterruptedExceptionprotected InputProcessor getInputProcessor()
public void putProcessInBackground(int pid)
public void putProcessInForeground(int pid)
public void pushToInputStream(java.lang.String input)
public boolean hasInput()
public boolean hasRunningProcesses()
public java.lang.String getInputLine()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprivate Shell getInternalShell()
public Shell getShell()
public void currentProcessFinished(Process process)
private Terminal getTerminal()
public java.lang.String getBuffer()
private void startReader()
private void startExecutor()
private boolean read()
private void parseInput(int[] input)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprivate void execute()
private void execute(java.lang.String command)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprivate void processInternalOperation(CommandOperation commandOperation) throws java.io.IOException
java.io.IOExceptionprivate void processOperationResult(java.lang.String result)
private void displayPrompt()
public void clear()
throws java.io.IOException
java.io.IOException - streamprivate ConsoleOperation parseCurrentOperation() throws java.io.IOException
java.io.IOExceptionprivate ConsoleOperation parseOperations() throws java.io.IOException
java.io.IOExceptionprivate ConsoleOperation processInternalCommands(ConsoleOperation output) throws java.io.IOException
java.io.IOExceptionprivate ConsoleOperation findAliases(ConsoleOperation operation)
private void persistRedirection(java.lang.String fileName,
ControlOperator redirection)
throws java.io.IOException
java.io.IOExceptionprivate void readExecuteFile()