Package org.apache.tools.ant.taskdefs.optional.ssh

# Class AbstractSshMessage

java.lang.Object
org.apache.tools.ant.taskdefs.optional.ssh.AbstractSshMessage

Direct Known Subclasses:
  `ScpFromMessage`, `ScpToMessage`

    public abstract class AbstractSshMessage
    extends java.lang.Object

Abstract class for ssh upload and download

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `AbstractSshMessage​(boolean verbose, boolean compressed, com.jcraft.jsch.Session session)` | Constructor for AbstractSshMessage
  `AbstractSshMessage​(boolean verbose, com.jcraft.jsch.Session session)` | Constructor for AbstractSshMessage
  `AbstractSshMessage​(com.jcraft.jsch.Session session)` | Constructor for AbstractSshMessage

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `abstract void` | `execute()` | Carry out the transfer.
  `protected boolean` | `getCompressed()` | Is the compressed attribute set.
  `protected com.jcraft.jsch.SftpProgressMonitor` | `getProgressMonitor()` | Get the progress monitor.
  `protected boolean` | `getVerbose()` | Is the verbose attribute set.
  `protected void` | `log​(java.lang.String message)` | Log a message to the log listener.
  `protected void` | `logStats​(long timeStarted, long timeEnded, long totalLength)` | Log transfer stats to the log listener.
  `protected com.jcraft.jsch.Channel` | `openExecChannel​(java.lang.String command)` | Open an ssh channel.
  `protected com.jcraft.jsch.ChannelSftp` | `openSftpChannel()` | Open an ssh sftp channel.
  `protected void` | `sendAck​(java.io.OutputStream out)` | Send an ack.
  `void` | `setLogListener​(LogListener aListener)` | Set a log listener.
  `protected int` | `trackProgress​(long filesize, long totalLength, int percentTransmitted)` | Track progress every 10% if 100kb < filesize < 1Mb.
  `protected void` | `waitForAck​(java.io.InputStream in)` | Reads the response, throws a BuildException if the response indicates an error.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AbstractSshMessage

    public AbstractSshMessage​(com.jcraft.jsch.Session session)
    Constructor for AbstractSshMessage
    Parameters:
      `session` - the ssh session to use

  - ### AbstractSshMessage

    public AbstractSshMessage​(boolean verbose, com.jcraft.jsch.Session session)
    Constructor for AbstractSshMessage
    Parameters:
      `verbose` - if true do verbose logging
      `session` - the ssh session to use
    Since:
      Ant 1.6.2

  - ### AbstractSshMessage

    public AbstractSshMessage​(boolean verbose, boolean compressed, com.jcraft.jsch.Session session)
    Constructor for AbstractSshMessage
    Parameters:
      `verbose` - if true do verbose logging
      `compressed` - if true use compression
      `session` - the ssh session to use
    Since:
      Ant 1.9.8

- ## Method Details

  - ### openExecChannel

    protected com.jcraft.jsch.Channel openExecChannel​(java.lang.String command) throws com.jcraft.jsch.JSchException
    Open an ssh channel.
    Parameters:
      `command` - the command to use
    Returns:
      the channel
    Throws:
      `com.jcraft.jsch.JSchException` - on error

  - ### openSftpChannel

    protected com.jcraft.jsch.ChannelSftp openSftpChannel() throws com.jcraft.jsch.JSchException
    Open an ssh sftp channel.
    Returns:
      the channel
    Throws:
      `com.jcraft.jsch.JSchException` - on error

  - ### sendAck

    protected void sendAck​(java.io.OutputStream out) throws java.io.IOException
    Send an ack.
    Parameters:
      `out` - the output stream to use
    Throws:
      `java.io.IOException` - on error

  - ### waitForAck

    protected void waitForAck​(java.io.InputStream in) throws java.io.IOException, BuildException
    Reads the response, throws a BuildException if the response indicates an error.
    Parameters:
      `in` - the input stream to use
    Throws:
      `java.io.IOException` - on I/O error
      `BuildException` - on other errors

  - ### execute

    public abstract void execute() throws java.io.IOException, com.jcraft.jsch.JSchException
    Carry out the transfer.
    Throws:
      `java.io.IOException` - on I/O errors
      `com.jcraft.jsch.JSchException` - on ssh errors

  - ### setLogListener

    public void setLogListener​(LogListener aListener)
    Set a log listener.
    Parameters:
      `aListener` - the log listener

  - ### log

    protected void log​(java.lang.String message)
    Log a message to the log listener.
    Parameters:
      `message` - the message to log

  - ### logStats

    protected void logStats​(long timeStarted, long timeEnded, long totalLength)
    Log transfer stats to the log listener.
    Parameters:
      `timeStarted` - the time started
      `timeEnded` - the finishing time
      `totalLength` - the total length

  - ### getVerbose

    protected final boolean getVerbose()
    Is the verbose attribute set.
    Returns:
      true if the verbose attribute is set
    Since:
      Ant 1.6.2

  - ### getCompressed

    protected final boolean getCompressed()
    Is the compressed attribute set.
    Returns:
      true if the compressed attribute is set
    Since:
      Ant 1.9.8

  - ### trackProgress

    protected final int trackProgress​(long filesize, long totalLength, int percentTransmitted)
    Track progress every 10% if 100kb < filesize < 1Mb. For larger files track progress for every percent transmitted.
    Parameters:
      `filesize` - the size of the file been transmitted
      `totalLength` - the total transmission size
      `percentTransmitted` - the current percent transmitted
    Returns:
      the percent that the file is of the total

  - ### getProgressMonitor

    protected com.jcraft.jsch.SftpProgressMonitor getProgressMonitor()
    Get the progress monitor.
    Returns:
      the progress monitor.