public abstract class AbstractRemoteFileOutboundGateway<F> extends AbstractReplyProducingMessageHandler
Modifier and Type | Class and Description |
---|---|
static class |
AbstractRemoteFileOutboundGateway.Command
Enumeration of commands supported by the gateways.
|
static class |
AbstractRemoteFileOutboundGateway.Option
Enumeration of options supported by various commands.
|
AbstractReplyProducingMessageHandler.RequestHandler
Modifier and Type | Field and Description |
---|---|
protected AbstractRemoteFileOutboundGateway.Command |
command |
protected Set<AbstractRemoteFileOutboundGateway.Option> |
options |
messagingTemplate
logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate,
AbstractRemoteFileOutboundGateway.Command command,
String expression)
Construct an instance with the supplied remote file template, a command ('ls',
'get' etc), and an expression to determine the filename.
|
AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate,
MessageSessionCallback<F,?> messageSessionCallback)
Construct an instance with the supplied remote file template and callback
for performing operations on the session.
|
AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate,
String command,
String expression)
Construct an instance with the supplied remote file template, a command ('ls',
'get' etc), and an expression to determine the filename.
|
AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory,
AbstractRemoteFileOutboundGateway.Command command,
String expression)
Construct an instance with the supplied session factory, a command ('ls', 'get'
etc), and an expression to determine the filename.
|
AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory,
MessageSessionCallback<F,?> messageSessionCallback)
Construct an instance using the provided session factory and callback for
performing operations on the session.
|
AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory,
String command,
String expression)
Construct an instance with the supplied session factory, a command ('ls', 'get'
etc), and an expression to determine the filename.
|
Modifier and Type | Method and Description |
---|---|
protected abstract List<AbstractFileInfo<F>> |
asFileInfoList(Collection<F> files) |
protected void |
doInit() |
protected abstract F |
enhanceNameWithSubDirectory(F file,
String directory) |
protected List<F> |
filterFiles(F[] files) |
protected List<File> |
filterMputFiles(File[] files) |
protected File |
get(Message<?> message,
Session<F> session,
String remoteDir,
String remoteFilePath,
String remoteFilename,
boolean lsFirst)
Copy a remote file to the configured local directory.
|
protected abstract String |
getFilename(AbstractFileInfo<F> file) |
protected abstract String |
getFilename(F file) |
protected abstract long |
getModified(F file) |
protected String |
getRemoteFilename(String remoteFilePath) |
protected Object |
handleRequestMessage(Message<?> requestMessage)
Subclasses must implement this method to handle the request Message.
|
protected abstract boolean |
isDirectory(F file) |
protected abstract boolean |
isLink(F file) |
protected List<?> |
ls(Session<F> session,
String dir) |
protected List<File> |
mGet(Message<?> message,
Session<F> session,
String remoteDirectory,
String remoteFilename) |
protected void |
purgeDots(List<F> lsFiles) |
protected void |
purgeLinks(List<F> lsFiles) |
void |
setAutoCreateLocalDirectory(boolean autoCreateLocalDirectory) |
void |
setExpressionRename(Expression expression)
Temporary, will be changed to
setRenameExpression(java.lang.String) in a future release. |
void |
setFileExistsMode(FileExistsMode fileExistsMode)
Determine the action to take when using GET and MGET operations when the file
already exists locally, or PUT and MPUT when the file exists on the remote
system.
|
void |
setFilter(FileListFilter<F> filter) |
void |
setLocalDirectory(File localDirectory) |
void |
setLocalDirectoryExpression(Expression localDirectoryExpression) |
void |
setLocalFilenameGeneratorExpression(Expression localFilenameGeneratorExpression) |
void |
setMputFilter(FileListFilter<File> filter) |
void |
setOptions(String options) |
void |
setRemoteFileSeparator(String remoteFileSeparator) |
void |
setRenameExpression(String expression)
Deprecated.
in favor of
setExpressionRename(org.springframework.expression.Expression) . Will be changed in a future release
to use an Expression parameter. |
void |
setTemporaryFileSuffix(String temporaryFileSuffix) |
doInvokeAdvisedRequestHandler, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReply
getOutputChannel, produceOutput, sendOutputs, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput
configureMetrics, getActiveCount, getActiveCountLong, getComponentType, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
protected final AbstractRemoteFileOutboundGateway.Command command
protected volatile Set<AbstractRemoteFileOutboundGateway.Option> options
public AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory, MessageSessionCallback<F,?> messageSessionCallback)
sessionFactory
- the session factory.messageSessionCallback
- the callback.public AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate, MessageSessionCallback<F,?> messageSessionCallback)
remoteFileTemplate
- the remote file template.messageSessionCallback
- the callback.public AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory, String command, String expression)
sessionFactory
- the session factory.command
- the command.expression
- the filename expression.public AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory, AbstractRemoteFileOutboundGateway.Command command, String expression)
sessionFactory
- the session factory.command
- the command.expression
- the filename expression.public AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate, String command, String expression)
remoteFileTemplate
- the remote file template.command
- the command.expression
- the filename expression.public AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate, AbstractRemoteFileOutboundGateway.Command command, String expression)
remoteFileTemplate
- the remote file template.command
- the command.expression
- the filename expression.public void setOptions(String options)
options
- the options to setpublic void setRemoteFileSeparator(String remoteFileSeparator)
remoteFileSeparator
- the remoteFileSeparator to setRemoteFileTemplate.setRemoteFileSeparator(String)
public void setLocalDirectory(File localDirectory)
localDirectory
- the localDirectory to setpublic void setLocalDirectoryExpression(Expression localDirectoryExpression)
public void setAutoCreateLocalDirectory(boolean autoCreateLocalDirectory)
autoCreateLocalDirectory
- the autoCreateLocalDirectory to setpublic void setTemporaryFileSuffix(String temporaryFileSuffix)
temporaryFileSuffix
- the temporaryFileSuffix to setRemoteFileTemplate.setTemporaryFileSuffix(String)
public void setFilter(FileListFilter<F> filter)
filter
- the filter to setpublic void setMputFilter(FileListFilter<File> filter)
filter
- the filter to set@Deprecated public void setRenameExpression(String expression)
setExpressionRename(org.springframework.expression.Expression)
. Will be changed in a future release
to use an Expression
parameter.expression
- the expression to set.public void setExpressionRename(Expression expression)
setRenameExpression(java.lang.String)
in a future release.expression
- the expression to set.public void setLocalFilenameGeneratorExpression(Expression localFilenameGeneratorExpression)
public void setFileExistsMode(FileExistsMode fileExistsMode)
fileExistsMode
- the fileExistsMode to set.protected void doInit()
doInit
in class AbstractReplyProducingMessageHandler
protected Object handleRequestMessage(Message<?> requestMessage)
AbstractReplyProducingMessageHandler
handleRequestMessage
in class AbstractReplyProducingMessageHandler
requestMessage
- The request message.null
.protected List<?> ls(Session<F> session, String dir) throws IOException
IOException
protected File get(Message<?> message, Session<F> session, String remoteDir, String remoteFilePath, String remoteFilename, boolean lsFirst) throws IOException
message
- The message.session
- The session.remoteDir
- The remote directory.remoteFilePath
- The remote file path.remoteFilename
- The remote file name.lsFirst
- true to execute an 'ls' command first.IOException
- Any IOException.protected List<File> mGet(Message<?> message, Session<F> session, String remoteDirectory, String remoteFilename) throws IOException
IOException
protected String getRemoteFilename(String remoteFilePath)
remoteFilePath
- The remote file path.protected abstract boolean isDirectory(F file)
protected abstract boolean isLink(F file)
protected abstract String getFilename(AbstractFileInfo<F> file)
protected abstract long getModified(F file)
protected abstract List<AbstractFileInfo<F>> asFileInfoList(Collection<F> files)