Class 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 Details

    • SFTPRepository

      public SFTPRepository()
    • SFTPRepository

      public SFTPRepository(TimeoutConstraint timeoutConstraint)
  • Method Details

    • getResource

      public Resource getResource(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(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 InputStream openStream(SFTPResource resource) throws IOException
      Throws:
      IOException
    • get

      public void get(String source, File destination) throws 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:
      IOException - On retrieval failure.
    • put

      public void put(File source, String destination, boolean overwrite) throws IOException
      Overrides:
      put in class AbstractRepository
      Throws:
      IOException
    • list

      public List<String> list(String parent) throws 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
      Throws:
      IOException - On listing failure.
    • getRepositoryScheme

      protected String getRepositoryScheme()
      Specified by:
      getRepositoryScheme in class AbstractSshBasedRepository