F - the Type that represents a remote file.public abstract class AbstractInboundFileSynchronizer<F> extends java.lang.Object implements InboundFileSynchronizer, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, java.io.Closeable
The implementation should run through any configured
FileListFilters to
ensure the file entry is acceptable.
| Modifier and Type | Field and Description |
|---|---|
protected static org.springframework.expression.ExpressionParser |
EXPRESSION_PARSER |
protected org.apache.commons.logging.Log |
logger |
| Constructor and Description |
|---|
AbstractInboundFileSynchronizer(SessionFactory<F> sessionFactory)
Create a synchronizer with the
SessionFactory used to acquire Session instances. |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
void |
close() |
protected boolean |
copyFileToLocalDirectory(java.lang.String remoteDirectoryPath,
F remoteFile,
java.io.File localDirectory,
Session<F> session) |
protected void |
doInit()
Subclasses can override to perform initialization - called from
InitializingBean.afterPropertiesSet(). |
protected void |
doSetFilter(FileListFilter<F> filter) |
protected void |
doSetRemoteDirectoryExpression(org.springframework.expression.Expression remoteDirectoryExpression) |
protected void |
evaluateRemoteDirectory() |
protected java.util.List<F> |
filterFiles(F[] files) |
protected java.util.Comparator<F> |
getComparator() |
protected abstract java.lang.String |
getFilename(F file) |
protected abstract long |
getModified(F file) |
protected java.lang.String |
getTemporaryFileSuffix() |
protected abstract boolean |
isFile(F file) |
protected void |
rollbackFromFileToListEnd(java.util.List<F> filteredFiles,
F file) |
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
void |
setComparator(java.util.Comparator<F> comparator)
Set a comparator to sort the retrieved list of
F (the Type that represents
the remote file) prior to applying filters and max fetch size. |
void |
setDeleteRemoteFiles(boolean deleteRemoteFiles)
Set to true to enable deletion of remote files after successful transfer.
|
void |
setFilter(FileListFilter<F> filter)
Set the filter to be applied to the remote files before transferring.
|
void |
setLocalFilenameGeneratorExpression(org.springframework.expression.Expression localFilenameGeneratorExpression)
Set an expression used to determine the local file name.
|
void |
setLocalFilenameGeneratorExpressionString(java.lang.String localFilenameGeneratorExpression)
Set an expression used to determine the local file name.
|
void |
setPreserveTimestamp(boolean preserveTimestamp)
Set to true to enable the preservation of the remote file timestamp when
transferring.
|
void |
setRemoteDirectory(java.lang.String remoteDirectory)
Specify the full path to the remote directory.
|
void |
setRemoteDirectoryExpression(org.springframework.expression.Expression remoteDirectoryExpression)
Specify an expression that evaluates to the full path to the remote directory.
|
void |
setRemoteDirectoryExpressionString(java.lang.String remoteDirectoryExpression)
Specify an expression that evaluates to the full path to the remote directory.
|
void |
setRemoteFileSeparator(java.lang.String remoteFileSeparator) |
void |
setTemporaryFileSuffix(java.lang.String temporaryFileSuffix)
Set a temporary file suffix to be used while transferring files.
|
void |
synchronizeToLocalDirectory(java.io.File localDirectory)
Synchronize all available files to the local directory;
|
void |
synchronizeToLocalDirectory(java.io.File localDirectory,
int maxFetchSize)
Synchronize up to maxFetchSize files to the local directory;
|
protected static final org.springframework.expression.ExpressionParser EXPRESSION_PARSER
protected final org.apache.commons.logging.Log logger
public AbstractInboundFileSynchronizer(SessionFactory<F> sessionFactory)
SessionFactory used to acquire Session instances.sessionFactory - The session factory.protected java.util.Comparator<F> getComparator()
public void setComparator(java.util.Comparator<F> comparator)
F (the Type that represents
the remote file) prior to applying filters and max fetch size.comparator - the comparator.public void setRemoteFileSeparator(java.lang.String remoteFileSeparator)
remoteFileSeparator - the remote file separator.RemoteFileTemplate.setRemoteFileSeparator(String)public void setLocalFilenameGeneratorExpression(org.springframework.expression.Expression localFilenameGeneratorExpression)
localFilenameGeneratorExpression - the expression.public void setLocalFilenameGeneratorExpressionString(java.lang.String localFilenameGeneratorExpression)
localFilenameGeneratorExpression - the expression.setRemoteDirectoryExpression(Expression)public void setTemporaryFileSuffix(java.lang.String temporaryFileSuffix)
temporaryFileSuffix - the file suffix.public void setRemoteDirectory(java.lang.String remoteDirectory)
remoteDirectory - The remote directory.public void setRemoteDirectoryExpression(org.springframework.expression.Expression remoteDirectoryExpression)
remoteDirectoryExpression - The remote directory expression.public void setRemoteDirectoryExpressionString(java.lang.String remoteDirectoryExpression)
remoteDirectoryExpression - The remote directory expression.setRemoteDirectoryExpression(Expression)protected final void doSetRemoteDirectoryExpression(org.springframework.expression.Expression remoteDirectoryExpression)
public void setFilter(FileListFilter<F> filter)
filter - the file list filter.protected final void doSetFilter(FileListFilter<F> filter)
public void setDeleteRemoteFiles(boolean deleteRemoteFiles)
deleteRemoteFiles - true to delete.public void setPreserveTimestamp(boolean preserveTimestamp)
preserveTimestamp - true to preserve.public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
throws org.springframework.beans.BeansException
setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAwareorg.springframework.beans.BeansExceptionpublic final void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanprotected void doInit()
InitializingBean.afterPropertiesSet().protected java.lang.String getTemporaryFileSuffix()
public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOExceptionpublic void synchronizeToLocalDirectory(java.io.File localDirectory)
InboundFileSynchronizersynchronizeToLocalDirectory in interface InboundFileSynchronizerlocalDirectory - the directory.public void synchronizeToLocalDirectory(java.io.File localDirectory,
int maxFetchSize)
InboundFileSynchronizersynchronizeToLocalDirectory in interface InboundFileSynchronizerlocalDirectory - the directory.maxFetchSize - the maximum files to fetch.protected void rollbackFromFileToListEnd(java.util.List<F> filteredFiles, F file)
protected boolean copyFileToLocalDirectory(java.lang.String remoteDirectoryPath,
F remoteFile,
java.io.File localDirectory,
Session<F> session)
throws java.io.IOException
java.io.IOExceptionprotected void evaluateRemoteDirectory()
protected abstract boolean isFile(F file)
protected abstract java.lang.String getFilename(F file)
protected abstract long getModified(F file)