org.crsh.command.pipeline
Class AbstractPipe<C,P,CONS extends CommandContext<? super P>>

java.lang.Object
  extended by org.crsh.command.pipeline.AbstractPipe<C,P,CONS>
All Implemented Interfaces:
Closeable, Flushable, CommandContext<C>, RuntimeContext, Consumer<C>, Producer<P,CONS>, InteractionContext, ScreenContext
Direct Known Subclasses:
ConvertingPipe, ToChunkPipe

public abstract class AbstractPipe<C,P,CONS extends CommandContext<? super P>>
extends Object
implements Consumer<C>, Producer<P,CONS>, CommandContext<C>

Author:
Julien Viet

Field Summary
protected  CONS consumer
          .
protected  boolean piped
          .
 
Constructor Summary
AbstractPipe(boolean piped)
           
 
Method Summary
 void close()
          Close the producer.
 void flush()
           
 Map<String,Object> getAttributes()
          Returns the current attributes.
 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.
 boolean isPiped()
           
 void open(CONS consumer)
          Open the producer with the specified consumer.
 String readLine(String msg, boolean echo)
          Display a message and read a line on the console.
 boolean releaseAlternateBuffer()
          Release control of the alternate buffer.
 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
 
Methods inherited from interface org.crsh.io.Producer
getProducedType
 
Methods inherited from interface org.crsh.io.Consumer
getConsumedType, provide
 
Methods inherited from interface org.crsh.shell.ScreenContext
write
 

Field Detail

piped

protected final boolean piped
.


consumer

protected CONS extends CommandContext<? super P> consumer
.

Constructor Detail

AbstractPipe

public AbstractPipe(boolean piped)
Method Detail

isPiped

public boolean isPiped()
Specified by:
isPiped in interface CommandContext<C>

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

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
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
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

getSession

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

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

getAttributes

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

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

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

open

public void open(CONS consumer)
Description copied from interface: Producer
Open the producer with the specified consumer.

Specified by:
open in interface Producer<P,CONS extends CommandContext<? super P>>
Parameters:
consumer - the consumer

flush

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

close

public void close()
           throws IOException
Description copied from interface: Producer
Close the producer.

Specified by:
close in interface Closeable
Specified by:
close in interface Producer<P,CONS extends CommandContext<? super P>>
Throws:
IOException - any io exception


Copyright © 2013 eXo Platform SAS. All Rights Reserved.