class CRaSHProcessContext extends Object implements CommandContext<Object>, Closeable
| Modifier and Type | Field and Description |
|---|---|
private ScreenContextConsumer |
adapter
.
|
private ScreenBuffer |
buffer
.
|
private ShellProcessContext |
processContext
.
|
private CRaSHSession |
session
.
|
private boolean |
useAlternateBuffer
.
|
| Constructor and Description |
|---|
CRaSHProcessContext(CRaSHSession session,
ShellProcessContext processContext) |
| Modifier and Type | Method and Description |
|---|---|
Screenable |
append(char c) |
Screenable |
append(CharSequence s) |
Screenable |
append(CharSequence csq,
int start,
int end) |
Screenable |
append(Style style) |
void |
close() |
Screenable |
cls() |
void |
flush()
Flush the stream.
|
Map<String,Object> |
getAttributes()
Returns the current attributes.
|
Class<Object> |
getConsumedType()
Returns the class of the element generic type.
|
int |
getHeight()
Returns the screen height in chars.
|
String |
getProperty(String propertyName)
Returns a generic property, usually this property is resolved by the
shell client.
|
Map<String,Object> |
getSession()
Returns the current session.
|
int |
getWidth()
Returns the screen width in chars.
|
void |
provide(Object element)
Provide an element.
|
String |
readLine(String msg,
boolean echo)
Display a message and read a line on the console, this method call can be blocking until the user provides
a value.
|
boolean |
releaseAlternateBuffer()
Release control of the alternate buffer.
|
boolean |
takeAlternateBuffer()
Take control of the alternate buffer.
|
private final CRaSHSession session
private final ShellProcessContext processContext
private final ScreenContextConsumer adapter
private final ScreenBuffer buffer
private boolean useAlternateBuffer
CRaSHProcessContext(CRaSHSession session, ShellProcessContext processContext)
public boolean takeAlternateBuffer() throws IOException
InteractionContextScreenContext.flush() method
is invoked.takeAlternateBuffer in interface InteractionContextIOExceptionpublic boolean releaseAlternateBuffer() throws IOException
InteractionContextScreenContext.flush() method
is invoked.releaseAlternateBuffer in interface InteractionContextIOExceptionpublic String getProperty(String propertyName)
InteractionContextgetProperty in interface InteractionContextpropertyName - the property namepublic String readLine(String msg, boolean echo) throws IOException, InterruptedException
InteractionContextreadLine in interface InteractionContextmsg - the message to display before reading a lineecho - wether or not the line read should be echoed when typingIOException - any io exceptionInterruptedException - the thread was interrupted while waiting for the user valuepublic int getWidth()
ScreenContextgetWidth in interface ScreenContextpublic int getHeight()
ScreenContextgetHeight in interface ScreenContextpublic Class<Object> getConsumedType()
ConsumergetConsumedType in interface Consumer<Object>public Screenable append(CharSequence s) throws IOException
append in interface AppendableIOExceptionpublic Screenable append(char c) throws IOException
append in interface AppendableIOExceptionpublic Screenable append(CharSequence csq, int start, int end) throws IOException
append in interface AppendableIOExceptionpublic Screenable append(Style style) throws IOException
append in interface ScreenableIOExceptionpublic Screenable cls() throws IOException
cls in interface ScreenableIOExceptionpublic void provide(Object element) throws IOException
Consumerprovide in interface Consumer<Object>element - the provided elementIOExceptionpublic void flush() throws IOException
Consumerflush in interface Consumer<Object>flush in interface ScreenContextIOException - any io exceptionpublic Map<String,Object> getSession()
RuntimeContextgetSession in interface RuntimeContextpublic Map<String,Object> getAttributes()
RuntimeContextgetAttributes in interface RuntimeContextpublic void close() throws IOException
close in interface Closeableclose in interface AutoCloseableclose in interface CommandContext<Object>IOExceptionCopyright © 2015 eXo Platform SAS. All Rights Reserved.