Interface RemoteFileOperations<F>
- Type Parameters:
 F- the file type.
- All Known Implementing Classes:
 FtpRemoteFileTemplate,RemoteFileTemplate,SftpRemoteFileTemplate,SmbRemoteFileTemplate
public interface RemoteFileOperations<F>
Strategy for performing operations on remote files.
- Since:
 - 3.0
 - Author:
 - Gary Russell, Artem Bilan
 
- 
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceCallback for using the same session for multiple RemoteFileTemplate operations. - 
Method Summary
Modifier and TypeMethodDescription@Nullable StringSend a file to a remote server, based on information in a message, appending.@Nullable StringSend a file to a remote server, based on information in a message, appending.<T> @Nullable Texecute(SessionCallback<F, T> callback) Execute the callback's doInSession method after obtaining a session.<T,C> @Nullable T executeWithClient(ClientCallback<C, T> callback) Execute the callback's doWithClient method after obtaining a session's client, providing access to low level methods.booleanCheck if a file exists on the remote server.booleanget(String remotePath, InputStreamCallback callback) Retrieve a remote file as an InputStream.booleanget(Message<?> message, InputStreamCallback callback) Retrieve a remote file as an InputStream, based on information in a message.Obtain a raw Session object.<T> @Nullable Tinvoke(RemoteFileOperations.OperationsCallback<F, T> action) Invoke the callback and run all operations on the template argument in a dedicated thread-bound session and reliably close it afterward.F[]List the files at the remote path.booleanRemove a remote file.voidRename a remote file, creating directories if needed.@Nullable Stringsend(Message<?> message, @Nullable String subDirectory, FileExistsMode... mode) Send a file to a remote server, based on information in a message.@Nullable Stringsend(Message<?> message, FileExistsMode... mode) Send a file to a remote server, based on information in a message. 
- 
Method Details
- 
send
Send a file to a remote server, based on information in a message.- Parameters:
 message- The message.mode- SeeFileExistsMode(optional; default REPLACE). A vararg is used to make the argument optional; only the first will be used if more than one is provided.- Returns:
 - The remote path, or null if no local file was found.
 
 - 
send
Send a file to a remote server, based on information in a message. The subDirectory is appended to the remote directory evaluated from the message.- Parameters:
 message- The message.subDirectory- The sub-directory.mode- SeeFileExistsMode(optional; default REPLACE). A vararg is used to make the argument optional; only the first will be used if more than one is provided.- Returns:
 - The remote path, or null if no local file was found.
 
 - 
append
 - 
append
Send a file to a remote server, based on information in a message, appending. The subDirectory is appended to the remote directory evaluated from the message.- Parameters:
 message- The message.subDirectory- The sub-directory.- Returns:
 - The remote path, or null if no local file was found.
 - Since:
 - 4.1
 
 - 
get
Retrieve a remote file as an InputStream.- Parameters:
 remotePath- The remote path to the file.callback- the callback.- Returns:
 - true if the operation was successful.
 
 - 
get
Retrieve a remote file as an InputStream, based on information in a message.- Parameters:
 message- The message which will be evaluated to generate the remote path.callback- the callback.- Returns:
 - true if the operation was successful.
 
 - 
exists
Check if a file exists on the remote server.- Parameters:
 path- The full path to the file.- Returns:
 - true when the file exists.
 - Since:
 - 4.1
 
 - 
remove
Remove a remote file.- Parameters:
 path- The full path to the file.- Returns:
 - true when successful.
 
 - 
rename
 - 
list
 - 
execute
Execute the callback's doInSession method after obtaining a session. Reliably closes the session when the method exits.- Type Parameters:
 T- The type returned bySessionCallback.doInSession(org.springframework.integration.file.remote.session.Session).- Parameters:
 callback- the SessionCallback.- Returns:
 - The result of the callback method.
 
 - 
invoke
Invoke the callback and run all operations on the template argument in a dedicated thread-bound session and reliably close it afterward.- Type Parameters:
 T- the return type.- Parameters:
 action- the call back.- Returns:
 - the result from the 
RemoteFileOperations.OperationsCallback.doInOperations(RemoteFileOperations) - Since:
 - 5.0
 
 - 
executeWithClient
Execute the callback's doWithClient method after obtaining a session's client, providing access to low level methods. Reliably closes the session when the method exits.- Type Parameters:
 T- The type returned byClientCallback.doWithClient(Object).C- The type of the underlying client object.- Parameters:
 callback- the ClientCallback.- Returns:
 - The result of the callback method.
 - Since:
 - 4.1
 
 - 
getSession
 
 -