org.crsh.processor.term
Class ProcessContext

java.lang.Object
  extended by org.crsh.processor.term.ProcessContext
All Implemented Interfaces:
Flushable, Runnable, InteractionContext, ScreenContext, ShellProcessContext

 class ProcessContext
extends Object
implements ShellProcessContext, Runnable


Field Summary
(package private)  ShellProcess process
          .
(package private)  Processor processor
          .
 
Constructor Summary
ProcessContext(Processor processor, ShellProcess process)
           
 
Method Summary
 void end(ShellResponse response)
          This method is invoked when the process ends.
 void flush()
           
 Class<Chunk> getConsumedType()
           
 int getHeight()
          Returns the screen height in chars.
 String getProperty(String name)
          Returns a generic property, usually this property is resolved by the shell client.
 int getWidth()
          Returns the screen width in chars.
 void provide(Chunk element)
           
 String readLine(String msg, boolean echo)
          Display a message and read a line on the console.
 boolean releaseAlternateBuffer()
          Release control of the alternate buffer.
 void run()
           
 boolean takeAlternateBuffer()
          Take control of the alternate buffer.
 void write(Chunk chunk)
          Write a chunk to the screen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

processor

final Processor processor
.


process

final ShellProcess process
.

Constructor Detail

ProcessContext

ProcessContext(Processor processor,
               ShellProcess process)
Method Detail

takeAlternateBuffer

public boolean takeAlternateBuffer()
                            throws IOException
Description copied from interface: InteractionContext
Take control of the alternate buffer. When the alternate buffer is already used nothing happens. The buffer switch should occur when then Flushable.flush() method is invoked.

Specified by:
takeAlternateBuffer in interface InteractionContext
Returns:
true if the alternate buffer is shown
Throws:
IOException

releaseAlternateBuffer

public boolean releaseAlternateBuffer()
                               throws IOException
Description copied from interface: InteractionContext
Release control of the alternate buffer. When the normal buffer is already used nothing happens. The buffer switch should occur when then Flushable.flush() method is invoked.

Specified by:
releaseAlternateBuffer in interface InteractionContext
Returns:
true if the usual buffer is shown
Throws:
IOException

run

public void run()
Specified by:
run in interface Runnable

getWidth

public int getWidth()
Description copied from interface: ScreenContext
Returns the screen width in chars. When the value is not positive it means the value could not be determined.

Specified by:
getWidth in interface ScreenContext
Returns:
the term width

getHeight

public int getHeight()
Description copied from interface: ScreenContext
Returns the screen height in chars. When the value is not positive it means the value could not be determined.

Specified by:
getHeight in interface ScreenContext
Returns:
the term height

getProperty

public String getProperty(String name)
Description copied from interface: InteractionContext
Returns a generic property, usually this property is resolved by the shell client.

Specified by:
getProperty in interface InteractionContext
Parameters:
name - the property name
Returns:
the property value

readLine

public String readLine(String msg,
                       boolean echo)
Description copied from interface: InteractionContext
Display a message and read a line on the console. If no line can be read then null is returned.

Specified by:
readLine in interface InteractionContext
Parameters:
msg - the message to display before reading a line
echo - wether or not the line read should be echoed when typing
Returns:
the line read

getConsumedType

public Class<Chunk> getConsumedType()

write

public void write(Chunk chunk)
           throws IOException
Description copied from interface: ScreenContext
Write a chunk to the screen.

Specified by:
write in interface ScreenContext
Parameters:
chunk - the chunk
Throws:
IOException - any io exception

provide

public void provide(Chunk element)
             throws IOException
Throws:
IOException

flush

public void flush()
           throws IOException
Specified by:
flush in interface Flushable
Throws:
IOException

end

public void end(ShellResponse response)
Description copied from interface: ShellProcessContext
This method is invoked when the process ends.

Specified by:
end in interface ShellProcessContext
Parameters:
response - the shell response


Copyright © 2013 eXo Platform SAS. All Rights Reserved.