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