Class SftpOperations

java.lang.Object
org.apache.camel.component.file.remote.SftpOperations
All Implemented Interfaces:
org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>, RemoteFileOperations<SftpRemoteFile>

public class SftpOperations extends Object implements RemoteFileOperations<SftpRemoteFile>
SFTP remote file operations

The JSCH session and channel are not thread-safe so we need to synchronize access to using this operation.

  • Constructor Details

    • SftpOperations

      public SftpOperations()
    • SftpOperations

      public SftpOperations(com.jcraft.jsch.Proxy proxy)
  • Method Details

    • setEndpoint

      public void setEndpoint(org.apache.camel.component.file.GenericFileEndpoint<SftpRemoteFile> endpoint)
      Specified by:
      setEndpoint in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
    • newGenericFile

      public org.apache.camel.component.file.GenericFile<SftpRemoteFile> newGenericFile()
      Specified by:
      newGenericFile in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
    • connect

      public boolean connect(RemoteFileConfiguration configuration, org.apache.camel.Exchange exchange) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Description copied from interface: RemoteFileOperations
      Connects to the remote server
      Specified by:
      connect in interface RemoteFileOperations<SftpRemoteFile>
      Parameters:
      configuration - configuration
      exchange - the exchange that trigger the connect (if any)
      Returns:
      true if connected
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException - can be thrown
    • createSession

      protected com.jcraft.jsch.Session createSession(RemoteFileConfiguration configuration) throws com.jcraft.jsch.JSchException
      Throws:
      com.jcraft.jsch.JSchException
    • isConnected

      public boolean isConnected() throws org.apache.camel.component.file.GenericFileOperationFailedException
      Description copied from interface: RemoteFileOperations
      Returns whether we are connected to the remote server or not
      Specified by:
      isConnected in interface RemoteFileOperations<SftpRemoteFile>
      Returns:
      true if connected, false if not
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException - can be thrown
    • disconnect

      public void disconnect() throws org.apache.camel.component.file.GenericFileOperationFailedException
      Description copied from interface: RemoteFileOperations
      Disconnects from the remote server
      Specified by:
      disconnect in interface RemoteFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException - can be thrown
    • forceDisconnect

      public void forceDisconnect() throws org.apache.camel.component.file.GenericFileOperationFailedException
      Description copied from interface: RemoteFileOperations
      Forces a hard disconnect from the remote server and cause the client to be re-created on next poll.
      Specified by:
      forceDisconnect in interface RemoteFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException - can be thrown
    • deleteFile

      public boolean deleteFile(String name) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      deleteFile in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • renameFile

      public boolean renameFile(String from, String to) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      renameFile in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • buildDirectory

      public boolean buildDirectory(String directory, boolean absolute) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      buildDirectory in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • getCurrentDirectory

      public String getCurrentDirectory() throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      getCurrentDirectory in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • changeCurrentDirectory

      public void changeCurrentDirectory(String path) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      changeCurrentDirectory in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • changeToParentDirectory

      public void changeToParentDirectory() throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      changeToParentDirectory in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • listFiles

      public SftpRemoteFile[] listFiles() throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      listFiles in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • listFiles

      public SftpRemoteFile[] listFiles(String path) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      listFiles in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • retrieveFile

      public boolean retrieveFile(String name, org.apache.camel.Exchange exchange, long size) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      retrieveFile in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • releaseRetrievedFileResources

      public void releaseRetrievedFileResources(org.apache.camel.Exchange exchange) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      releaseRetrievedFileResources in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • storeFile

      public boolean storeFile(String name, org.apache.camel.Exchange exchange, long size) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      storeFile in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • existsFile

      public boolean existsFile(String name) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Specified by:
      existsFile in interface org.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • fastExistsFile

      protected boolean fastExistsFile(String name) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException
    • sendNoop

      public boolean sendNoop() throws org.apache.camel.component.file.GenericFileOperationFailedException
      Description copied from interface: RemoteFileOperations
      Sends a noop command to the remote server
      Specified by:
      sendNoop in interface RemoteFileOperations<SftpRemoteFile>
      Returns:
      true if the noop was a success, false otherwise
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException - can be thrown
    • sendSiteCommand

      public boolean sendSiteCommand(String command) throws org.apache.camel.component.file.GenericFileOperationFailedException
      Description copied from interface: RemoteFileOperations
      Sends a site command to the remote server
      Specified by:
      sendSiteCommand in interface RemoteFileOperations<SftpRemoteFile>
      Parameters:
      command - the command
      Returns:
      true if the command was a success, false otherwise
      Throws:
      org.apache.camel.component.file.GenericFileOperationFailedException - can be thrown