Class SessionOutputReader

java.lang.Object
com.sshtools.j2ssh.session.SessionOutputReader

public class SessionOutputReader extends Object

This class provides a utility to read and parse the output a session, providing methods to wait for specific strings such as the prompt or command input requests.

Since:
0.2.1
Version:
$Revision: 1.13 $
Author:
Lee David Painter
  • Constructor Details

    • SessionOutputReader

      public SessionOutputReader(SessionChannelClient session)

      Contructs the session reader.

      Parameters:
      session - the to read
  • Method Details

    • getOutput

      public String getOutput()
      Returns the output of the entire session.
      Returns:
      a string containing the entire output of the session so far.
    • getPosition

      public int getPosition()

      Returns the current position of the session input pointer. This pointer is set to the position of the matched string everytime a match is found during a call by waitForString

      Returns:
      the current input reader pointer
    • markPosition

      public void markPosition(int mark)
      Mark the postion specified for filtering session output.
      Parameters:
      mark - output position to mark
    • markCurrentPosition

      public void markCurrentPosition()
      Marks the current position.
    • getMarkedOutput

      public String getMarkedOutput()

      Returns a string containing the session output from the current marked position to the end of the output.

      Returns:
      a string containing the session output from the marked position to current position
    • waitForString

      public boolean waitForString(String str, SessionOutputEcho echo) throws InterruptedException

      Wait for a given String in the output buffer.

      Parameters:
      str - the string to wait for
      echo - a callback interface to receive the session output whilst the no match for the string is found
      Returns:
      true if the string was found, otherwise false
      Throws:
      InterruptedException - if the thread is interrupted
      See Also:
    • waitForString

      public boolean waitForString(String str) throws InterruptedException

      Wait for a given String in the output buffer. This method will block until the string is found.

      Parameters:
      str - the string to wait for
      Returns:
      true if the string was found, otherwise false
      Throws:
      InterruptedException - if the thread is interrupted
      See Also:
    • waitForString

      public boolean waitForString(String str, int timeout) throws InterruptedException

      Wait for a given String in the output buffer.

      Parameters:
      str - the string to wait for
      timeout - the number of milliseconds to wait
      Returns:
      true if the string was found, otherwise false
      Throws:
      InterruptedException - if the thread is interrupted
      See Also:
    • waitForString

      public boolean waitForString(String str, int timeout, SessionOutputEcho echo) throws InterruptedException

      Wait for a given String in the output buffer. When this method is called the method will block unitil either the String arrives in the input buffer or the timeout specified has elasped.

      Parameters:
      str - the string to wait for
      timeout - the number of milliseconds to wait, 0=infinite
      echo - a callback interface to receive the session output whilst the no match for the string is found
      Returns:
      true if the string was found, otherwise false
      Throws:
      InterruptedException - if the thread is interrupted
    • echoLineByLineToClose

      public void echoLineByLineToClose(SessionOutputEcho echo) throws InterruptedException
      Parameters:
      echo -
      Throws:
      InterruptedException