## 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
`AbstractSshMessage(boolean verbose, com.jcraft.jsch.Session session)` Constructor for AbstractSshMessage
`AbstractSshMessage(com.jcraft.jsch.Session session)` Constructor for AbstractSshMessage

Method Summary
`abstract void` `execute()` Carry out the transfer.
`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 Detail

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

Method Detail

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

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