ScpToMessage (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs.optional.ssh, class: ScpToMessage

# Class ScpToMessage

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

Direct Known Subclasses:
  `ScpToMessageBySftp`

public class ScpToMessage extends AbstractSshMessage
Utility class to carry out an upload scp transfer.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ScpToMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session)`
  Constructor for ScpToMessage
  `ScpToMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath, boolean preserveLastModified)`
  Constructor for a local file to remote.
  `ScpToMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath, boolean preserveLastModified)`
  Constructor for a local directories to remote.
  `ScpToMessage(boolean verbose, com.jcraft.jsch.Session session)`
  Constructor for ScpToMessage
  `ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath)`
  Constructor for a local file to remote.
  `ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath, boolean preserveLastModified)`
  Constructor for a local file to remote.
  `ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath)`
  Constructor for a local directories to remote.
  `ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath, boolean preserveLastModified)`
  Constructor for a local directories to remote.
  `ScpToMessage(com.jcraft.jsch.Session session)`
  Constructor for ScpToMessage
  `ScpToMessage(com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath)`
  Constructor for ScpToMessage.
  `ScpToMessage(com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath)`
  Constructor for ScpToMessage.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `execute()`
  Carry out the transfer.
  `int`
  `getDirMode()`
  Get the dir mode.
  `int`
  `getFileMode()`
  Get the file mode.
  `File`
  `getLocalFile()`
  Get the local file
  `boolean`
  `getPreserveLastModified()`
  Whether to preserve the last modified time.
  `String`
  `getRemotePath()`
  Get the remote path
  `void`
  `setDirMode(int dirMode)`
  Set the dir mode, defaults to 0755.
  `void`
  `setFileMode(int fileMode)`
  Set the file mode, defaults to 0644.

  ### Methods inherited from class AbstractSshMessage

  `getCompressed, getProgressMonitor, getVerbose, log, logStats, openExecChannel, openSftpChannel, sendAck, setLogListener, trackProgress, waitForAck`
  Modifier and Type
  Method
  Description
  `protected final boolean`
  `getCompressed()`
  Is the compressed attribute set.
  `protected com.jcraft.jsch.SftpProgressMonitor`
  `getProgressMonitor()`
  Get the progress monitor.
  `protected final boolean`
  `getVerbose()`
  Is the verbose attribute set.
  `protected void`
  `log(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(String command)`
  Open an ssh channel.
  `protected com.jcraft.jsch.ChannelSftp`
  `openSftpChannel()`
  Open an ssh sftp channel.
  `protected void`
  `sendAck(OutputStream out)`
  Send an ack.
  `void`
  `setLogListener(LogListener aListener)`
  Set a log listener.
  `protected final int`
  `trackProgress(long filesize, long totalLength, int percentTransmitted)`
  Track progress every 10% if 100kb < filesize < 1Mb.
  `protected void`
  `waitForAck(InputStream in)`
  Reads the response, throws a BuildException if the response indicates an error.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### ScpToMessage

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

  - ### ScpToMessage

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

  - ### ScpToMessage

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

  - ### ScpToMessage

    public ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath, boolean preserveLastModified)
    Constructor for a local file to remote.
    Parameters:
      `verbose` - if true do verbose logging
      `session` - the scp session to use
      `aLocalFile` - the local file
      `aRemotePath` - the remote path
      `preserveLastModified` - whether to preserve the last modified timestamps
    Since:
      Ant 1.9.7

  - ### ScpToMessage

    public ScpToMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath, boolean preserveLastModified)
    Constructor for a local file to remote.
    Parameters:
      `verbose` - if true do verbose logging
      `compressed` - if true use compression
      `session` - the scp session to use
      `aLocalFile` - the local file
      `aRemotePath` - the remote path
      `preserveLastModified` - whether to preserve the last modified timestamps
    Since:
      Ant 1.9.8

  - ### ScpToMessage

    public ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath, boolean preserveLastModified)
    Constructor for a local directories to remote.
    Parameters:
      `verbose` - if true do verbose logging
      `session` - the scp session to use
      `aDirectoryList` - a list of directories
      `aRemotePath` - the remote path
      `preserveLastModified` - whether to preserve the last modified timestamps
    Since:
      Ant 1.9.7

  - ### ScpToMessage

    public ScpToMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath, boolean preserveLastModified)
    Constructor for a local directories to remote.
    Parameters:
      `verbose` - if true do verbose logging
      `compressed` - whether to use compression
      `session` - the scp session to use
      `aDirectoryList` - a list of directories
      `aRemotePath` - the remote path
      `preserveLastModified` - whether to preserve the last modified timestamps
    Since:
      Ant 1.9.8

  - ### ScpToMessage

    public ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath)
    Constructor for a local file to remote.
    Parameters:
      `verbose` - if true do verbose logging
      `session` - the scp session to use
      `aLocalFile` - the local file
      `aRemotePath` - the remote path
    Since:
      Ant 1.6.2

  - ### ScpToMessage

    public ScpToMessage(boolean verbose, com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath)
    Constructor for a local directories to remote.
    Parameters:
      `verbose` - if true do verbose logging
      `session` - the scp session to use
      `aDirectoryList` - a list of directories
      `aRemotePath` - the remote path
    Since:
      Ant 1.6.2

  - ### ScpToMessage

    public ScpToMessage(com.jcraft.jsch.Session session, File aLocalFile, String aRemotePath)
    Constructor for ScpToMessage.
    Parameters:
      `session` - the scp session to use
      `aLocalFile` - the local file
      `aRemotePath` - the remote path

  - ### ScpToMessage

    public ScpToMessage(com.jcraft.jsch.Session session, List<Directory> aDirectoryList, String aRemotePath)
    Constructor for ScpToMessage.
    Parameters:
      `session` - the scp session to use
      `aDirectoryList` - a list of directories
      `aRemotePath` - the remote path

- ## Method Details

  - ### execute

    public void execute() throws IOException, com.jcraft.jsch.JSchException
    Carry out the transfer.
    Specified by:
      `execute` in class `AbstractSshMessage`
    Throws:
      `IOException` - on i/o errors
      `com.jcraft.jsch.JSchException` - on errors detected by scp

  - ### getLocalFile

    public File getLocalFile()
    Get the local file
    Returns:
      the local file

  - ### getRemotePath

    public String getRemotePath()
    Get the remote path
    Returns:
      the remote path

  - ### setFileMode

    public void setFileMode(int fileMode)
    Set the file mode, defaults to 0644.
    Parameters:
      `fileMode` - int
    Since:
      Ant 1.9.5

  - ### getFileMode

    public int getFileMode()
    Get the file mode.
    Returns:
      int
    Since:
      Ant 1.9.5

  - ### setDirMode

    public void setDirMode(int dirMode)
    Set the dir mode, defaults to 0755.
    Parameters:
      `dirMode` - int
    Since:
      Ant 1.9.5

  - ### getDirMode

    public int getDirMode()
    Get the dir mode.
    Returns:
      int
    Since:
      Ant 1.9.5

  - ### getPreserveLastModified

    public boolean getPreserveLastModified()
    Whether to preserve the last modified time.
    Returns:
      boolean
    Since:
      Ant 1.9.7