Interface RemoteFileOperations<F>
- Type Parameters:
F
- the file type.
- All Known Implementing Classes:
RemoteFileTemplate
public interface RemoteFileOperations<F>
Strategy for performing operations on remote files.
- Since:
- 3.0
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
RemoteFileOperations.OperationsCallback<F,T>
Callback for using the same session for multiple RemoteFileTemplate operations. -
Method Summary
Modifier and Type Method Description java.lang.String
append(org.springframework.messaging.Message<?> message)
Send a file to a remote server, based on information in a message, appending.java.lang.String
append(org.springframework.messaging.Message<?> message, java.lang.String subDirectory)
Send a file to a remote server, based on information in a message, appending.<T> T
execute(SessionCallback<F,T> callback)
Execute the callback's doInSession method after obtaining a session.<T, C> T
executeWithClient(ClientCallback<C,T> callback)
Execute the callback's doWithClient method after obtaining a session's client, providing access to low level methods.boolean
exists(java.lang.String path)
Check if a file exists on the remote server.boolean
get(java.lang.String remotePath, InputStreamCallback callback)
Retrieve a remote file as an InputStream.boolean
get(org.springframework.messaging.Message<?> message, InputStreamCallback callback)
Retrieve a remote file as an InputStream, based on information in a message.Session<F>
getSession()
Obtain a raw Session object.<T> T
invoke(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 the it afterwards.F[]
list(java.lang.String path)
List the files at the remote path.boolean
remove(java.lang.String path)
Remove a remote file.void
rename(java.lang.String fromPath, java.lang.String toPath)
Rename a remote file, creating directories if needed.java.lang.String
send(org.springframework.messaging.Message<?> message, java.lang.String subDirectory, FileExistsMode... mode)
Send a file to a remote server, based on information in a message.java.lang.String
send(org.springframework.messaging.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
java.lang.String send(org.springframework.messaging.Message<?> message, java.lang.String subDirectory, FileExistsMode... mode)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
java.lang.String append(org.springframework.messaging.Message<?> message)Send a file to a remote server, based on information in a message, appending.- Parameters:
message
- The message.- Returns:
- The remote path, or null if no local file was found.
- Since:
- 4.1
-
append
java.lang.String append(org.springframework.messaging.Message<?> message, java.lang.String subDirectory)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
boolean exists(java.lang.String path)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
boolean remove(java.lang.String path)Remove a remote file.- Parameters:
path
- The full path to the file.- Returns:
- true when successful.
-
rename
void rename(java.lang.String fromPath, java.lang.String toPath)Rename a remote file, creating directories if needed.- Parameters:
fromPath
- The current path.toPath
- The new path.
-
list
List the files at the remote path.- Parameters:
path
- the path.- Returns:
- the 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 the it afterwards.- 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
Obtain a raw Session object. User must close the session when it is no longer needed.- Returns:
- a session.
- Since:
- 4.3
-