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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceSftpOperations.ExtendedUserInfoExtended user info which supports interactive keyboard mode, by entering the password.
-
Constructor Summary
Constructors Constructor Description SftpOperations()SftpOperations(com.jcraft.jsch.Proxy proxy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbuildDirectory(String directory, boolean absolute)voidchangeCurrentDirectory(String path)voidchangeToParentDirectory()booleanconnect(RemoteFileConfiguration configuration, org.apache.camel.Exchange exchange)Connects to the remote serverprotected com.jcraft.jsch.SessioncreateSession(RemoteFileConfiguration configuration)booleandeleteFile(String name)voiddisconnect()Disconnects from the remote serverbooleanexistsFile(String name)protected booleanfastExistsFile(String name)voidforceDisconnect()Forces a hard disconnect from the remote server and cause the client to be re-created on next poll.StringgetCurrentDirectory()booleanisConnected()Returns whether we are connected to the remote server or notSftpRemoteFile[]listFiles()SftpRemoteFile[]listFiles(String path)org.apache.camel.component.file.GenericFile<SftpRemoteFile>newGenericFile()voidreleaseRetrievedFileResources(org.apache.camel.Exchange exchange)booleanrenameFile(String from, String to)booleanretrieveFile(String name, org.apache.camel.Exchange exchange, long size)booleansendNoop()Sends a noop command to the remote serverbooleansendSiteCommand(String command)Sends a site command to the remote servervoidsetEndpoint(org.apache.camel.component.file.GenericFileEndpoint<SftpRemoteFile> endpoint)booleanstoreFile(String name, org.apache.camel.Exchange exchange, long size)
-
-
-
Method Detail
-
setEndpoint
public void setEndpoint(org.apache.camel.component.file.GenericFileEndpoint<SftpRemoteFile> endpoint)
- Specified by:
setEndpointin interfaceorg.apache.camel.component.file.GenericFileOperations<SftpRemoteFile>
-
newGenericFile
public org.apache.camel.component.file.GenericFile<SftpRemoteFile> newGenericFile()
- Specified by:
newGenericFilein interfaceorg.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:RemoteFileOperationsConnects to the remote server- Specified by:
connectin interfaceRemoteFileOperations<SftpRemoteFile>- Parameters:
configuration- configurationexchange- 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.GenericFileOperationFailedExceptionDescription copied from interface:RemoteFileOperationsReturns whether we are connected to the remote server or not- Specified by:
isConnectedin interfaceRemoteFileOperations<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.GenericFileOperationFailedExceptionDescription copied from interface:RemoteFileOperationsDisconnects from the remote server- Specified by:
disconnectin interfaceRemoteFileOperations<SftpRemoteFile>- Throws:
org.apache.camel.component.file.GenericFileOperationFailedException- can be thrown
-
forceDisconnect
public void forceDisconnect() throws org.apache.camel.component.file.GenericFileOperationFailedExceptionDescription copied from interface:RemoteFileOperationsForces a hard disconnect from the remote server and cause the client to be re-created on next poll.- Specified by:
forceDisconnectin interfaceRemoteFileOperations<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:
deleteFilein interfaceorg.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:
renameFilein interfaceorg.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:
buildDirectoryin interfaceorg.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:
getCurrentDirectoryin interfaceorg.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:
changeCurrentDirectoryin interfaceorg.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:
changeToParentDirectoryin interfaceorg.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:
listFilesin interfaceorg.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:
listFilesin interfaceorg.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:
retrieveFilein interfaceorg.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:
releaseRetrievedFileResourcesin interfaceorg.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:
storeFilein interfaceorg.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:
existsFilein interfaceorg.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.GenericFileOperationFailedExceptionDescription copied from interface:RemoteFileOperationsSends a noop command to the remote server- Specified by:
sendNoopin interfaceRemoteFileOperations<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:RemoteFileOperationsSends a site command to the remote server- Specified by:
sendSiteCommandin interfaceRemoteFileOperations<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
-
-