org.crsh.command
Class InnerInvocationContext<P>

java.lang.Object
  extended by org.crsh.command.InnerInvocationContext<P>
All Implemented Interfaces:
Flushable, CommandContext, InvocationContext<P>, Consumer<P>, InteractionContext<P>, ScreenContext<P>

 class InnerInvocationContext<P>
extends Object
implements InvocationContext<P>


Field Summary
(package private)  Consumer<P> consumer
          .
(package private)  InvocationContext<?> outter
          .
private  RenderPrintWriter writer
          .
 
Constructor Summary
InnerInvocationContext(InvocationContext<?> outter, Consumer<P> consumer)
           
 
Method Summary
 void flush()
           
 Map<String,Object> getAttributes()
          Returns the current shell attributes.
 Class<P> 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 shell session.
 int getWidth()
          Returns the screen width in chars.
 RenderPrintWriter getWriter()
          Returns the writer for the output.
 void provide(P element)
          Provide an 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.
 CommandInvoker<?,?> resolve(String s)
          Resolve a command invoker for the specified command line.
 boolean takeAlternateBuffer()
          Take control of the alternate buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

outter

final InvocationContext<?> outter
.


consumer

final Consumer<P> consumer
.


writer

private RenderPrintWriter writer
.

Constructor Detail

InnerInvocationContext

InnerInvocationContext(InvocationContext<?> outter,
                       Consumer<P> consumer)
Method Detail

resolve

public CommandInvoker<?,?> resolve(String s)
                            throws ScriptException,
                                   IOException
Description copied from interface: InvocationContext
Resolve a command invoker for the specified command line.

Specified by:
resolve in interface InvocationContext<P>
Parameters:
s - the command line
Returns:
the command invoker
Throws:
ScriptException - any script exception
IOException - any io exception

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<P>
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<P>
Returns:
the term height

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<P>
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<P>
Returns:
true if the usual buffer is shown
Throws:
IOException

getProperty

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

Specified by:
getProperty in interface InteractionContext<P>
Parameters:
propertyName - 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<P>
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

getWriter

public RenderPrintWriter getWriter()
Description copied from interface: InvocationContext
Returns the writer for the output.

Specified by:
getWriter in interface InvocationContext<P>
Returns:
the writer

getConsumedType

public Class<P> getConsumedType()
Description copied from interface: Consumer
Returns the class of the element generic type.

Specified by:
getConsumedType in interface Consumer<P>
Returns:
the consumed type

provide

public void provide(P element)
             throws IOException
Description copied from interface: Consumer
Provide an element.

Specified by:
provide in interface Consumer<P>
Parameters:
element - the provided element
Throws:
IOException

flush

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

getSession

public Map<String,Object> getSession()
Description copied from interface: CommandContext
Returns the current shell session.

Specified by:
getSession in interface CommandContext
Returns:
the session map

getAttributes

public Map<String,Object> getAttributes()
Description copied from interface: CommandContext
Returns the current shell attributes.

Specified by:
getAttributes in interface CommandContext
Returns:
the attributes map


Copyright © 2013 eXo Platform SAS. All Rights Reserved.