SFTPRepository
Date: 2014-12-13

org.apache.ivy.plugins.repository.sftp

## Class SFTPRepository

- java.lang.Object
- - org.apache.ivy.plugins.repository.AbstractRepository
  - - org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository
    - - org.apache.ivy.plugins.repository.sftp.SFTPRepository

- All Implemented Interfaces:
    Repository

      public class SFTPRepository
      extends AbstractSshBasedRepository

  SFTP Repository, allow to use a repository accessed by sftp protocol. It supports all operations: get, put and list. It relies on jsch for sftp handling, and thus is compatible with sftp version 0, 1, 2 and 3

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SFTPRepository()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `get(java.lang.String source, java.io.File destination)` Fetch a resource from the repository.
    `protected java.lang.String` | `getRepositoryScheme()`
    `Resource` | `getResource(java.lang.String source)` Return the resource associated with a specified identifier.
    `java.util.List` | `list(java.lang.String parent)` Return a listing of resources names
    `java.io.InputStream` | `openStream(SFTPResource resource)`
    `void` | `put(java.io.File source, java.lang.String destination, boolean overwrite)`
    `Resource` | `resolveResource(java.lang.String path)` This method is similar to getResource, except that the returned resource is fully initialized (resolved in the sftp repository), and that the given string is a full remote path

    - ### Methods inherited from class org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository

      `getHost, getKeyFile, getKeyFilePassword, getPassFile, getPort, getSession, getUser, getUserPassword, isAllowedAgentUse, releaseSession, setAllowedAgentUse, setHost, setKeyFile, setKeyFilePassword, setPassFile, setPort, setUser, setUserPassword`

    - ### Methods inherited from class org.apache.ivy.plugins.repository.AbstractRepository

      `addTransferListener, fireTransferCompleted, fireTransferCompleted, fireTransferError, fireTransferError, fireTransferEvent, fireTransferInitiated, fireTransferProgress, fireTransferStarted, fireTransferStarted, getFileSeparator, getName, hasTransferListener, put, removeTransferListener, setName, standardize, toString`

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

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

- - ### Constructor Detail

    - #### SFTPRepository

          public SFTPRepository()

  - ### Method Detail

    - #### getResource

          public Resource getResource(java.lang.String source)

      Description copied from interface: `Repository`
      Return the resource associated with a specified identifier. If the resource does not exist, it should return a Resource with exists() returning false. An IOException should only be thrown when a real IO problem occurs, like the impossibility to connect to a server.
      Parameters:
        `source` - A string identifying the resource.
      Returns:
        The resource associated with the resource identifier.

    - #### resolveResource

          public Resource resolveResource(java.lang.String path)

      This method is similar to getResource, except that the returned resource is fully initialized (resolved in the sftp repository), and that the given string is a full remote path
      Parameters:
        `path` - the full remote path in the repository of the resource
      Returns:
        a fully initialized resource, able to answer to all its methods without needing any further connection

    - #### openStream

          public java.io.InputStream openStream(SFTPResource resource)
                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### get

          public void get(java.lang.String source,
                 java.io.File destination)
                   throws java.io.IOException

      Description copied from interface: `Repository`
      Fetch a resource from the repository.
      Parameters:
        `source` - A string identifying the resource to be fetched.
        `destination` - Where to place the fetched resource.
      Throws:
        `java.io.IOException` - On retrieval failure.

    - #### put

          public void put(java.io.File source,
                 java.lang.String destination,
                 boolean overwrite)
                   throws java.io.IOException

      Overrides:
        `put` in class `AbstractRepository`
      Throws:
        `java.io.IOException`

    - #### list

          public java.util.List list(java.lang.String parent)
                              throws java.io.IOException

      Description copied from interface: `Repository`
      Return a listing of resources names
      Parameters:
        `parent` - The parent directory from which to generate the listing.
      Returns:
        A listing of the parent directory's file content, as a List of String.
      Throws:
        `java.io.IOException` - On listing failure.

    - #### getRepositoryScheme

          protected java.lang.String getRepositoryScheme()

      Specified by:
        `getRepositoryScheme` in class `AbstractSshBasedRepository`