Class SshThread

java.lang.Object
java.lang.Thread
com.sshtools.j2ssh.SshThread
All Implemented Interfaces:
Runnable

public class SshThread extends Thread

Enables the J2SSH application framework to execute threads in the context of a given session.

Since:
0.2.0
Version:
$Revision: 1.25 $
Author:
Lee David Painter
  • Field Details

    • sessionId

      protected byte[] sessionId
      The raw session id generating during the first key exchange.
    • sessionIdString

      protected String sessionIdString
      A string representation of the session id.
    • username

      protected String username
      The thread owner
  • Constructor Details

    • SshThread

      public SshThread(Runnable target, String name, boolean daemon)

      Constructs an SshThread.

      Parameters:
      target - The target to execute
      name - The name of the thread
      daemon - run as a daemon thread?
      Since:
      0.2.0
    • SshThread

      public SshThread(String name, boolean daemon)
  • Method Details

    • setSessionId

      public void setSessionId(byte[] sessionId)

      Sets the session id for this thread.

      Parameters:
      sessionId - the session id created during the first key exchange.
      Since:
      0.2.0
    • getSessionIdString

      public String getSessionIdString()

      Returns the session id string for this thread.

      Returns:
      a string representation of the session id
      Since:
      0.2.0
    • setUsername

      public void setUsername(String username)

      Set the username for this thread.

      Parameters:
      username - the thread owner
      Since:
      0.2.0
    • getUsername

      public String getUsername()

      Gets the username for this thread.

      Returns:
      the thread owner
      Since:
      0.2.0
    • cloneThread

      public SshThread cloneThread(Runnable target, String name)

      Create's a cloned copy of this thread with the given target and name.

      Parameters:
      target - the target to execute
      name - the thread name
      Returns:
      the cloned thread
      Since:
      0.2.0
    • setProperty

      public void setProperty(String name, Object value)

      Sets a property in the thread.

      Parameters:
      name - the name of the property
      value - the property value
      Since:
      0.2.0
    • getProperty

      public Object getProperty(String name)

      Gets a property from this thread.

      Parameters:
      name - the name of the property
      Returns:
      the property value
      Since:
      0.2.0
    • containsProperty

      public boolean containsProperty(String name)

      Determine if this thread contains the given property.

      Parameters:
      name - the name of the property
      Returns:
      true if the property exists, otherwise false
      Since:
      0.2.0
    • getCurrentThreadUser

      public static String getCurrentThreadUser() throws SshRuntimeException

      Call to determine the username of the current thread context.

      This should be called when the caller is certain that the current thread is running in an SshThread context. If not a runtime exception is thrown.

      Returns:
      the owner of the current thread
      Throws:
      SshRuntimeException - if the current thread is not an SshThread
      Since:
      0.2.0
    • hasUserContext

      public static boolean hasUserContext()
    • getCurrentSessionId

      public static String getCurrentSessionId() throws SshRuntimeException

      Returns the session id of the current thread context.

      This should be called when the caller is certain that the current thread is running in an SshThread context. If not a Runtime exception is thrown.

      Returns:
      the session id of the current thread
      Throws:
      SshRuntimeException - if the current thread is not an SshThread
      Since:
      0.2.0
    • getCurrentThread

      public static SshThread getCurrentThread() throws SshRuntimeException

      Returns the current SshThread.

      This should be called when the caller is certain that the current thread is running in an SshThread context. If not a Runtime exception is thrown.

      Returns:
      the current SshThread
      Throws:
      SshRuntimeException - if the current thread is not an SshThread
      Since:
      0.2.0