org.apache.ivy.plugins.repository.sftp
Class SFTPRepository

java.lang.Object
  extended by org.apache.ivy.plugins.repository.AbstractRepository
      extended by org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository
          extended by 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
SFTPRepository()
           
 
Method Summary
 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 initialised (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, releaseSession, 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 initialised (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 initialised 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