Class AbstractDirectoryAwareFileListFilter<F>

java.lang.Object
org.springframework.integration.file.filters.AbstractFileListFilter<F>
org.springframework.integration.file.filters.AbstractDirectoryAwareFileListFilter<F>
Type Parameters:
F - the file type.
All Implemented Interfaces:
FileListFilter<F>
Direct Known Subclasses:
AbstractPersistentAcceptOnceFileListFilter, AbstractRegexPatternFileListFilter, AbstractSimplePatternFileListFilter

public abstract class AbstractDirectoryAwareFileListFilter<F> extends AbstractFileListFilter<F>
A file list filter that can be configured to always accept (pass) directories. This permits, for example, pattern matching on just files when using recursion to examine a directory tree.
Since:
5.0
Author:
Gary Russell
  • Constructor Details

    • AbstractDirectoryAwareFileListFilter

      public AbstractDirectoryAwareFileListFilter()
  • Method Details

    • setAlwaysAcceptDirectories

      public void setAlwaysAcceptDirectories(boolean alwaysAcceptDirectories)
      Set to true so that filters that support this feature can unconditionally pass directories; default false.
      Parameters:
      alwaysAcceptDirectories - true to always pass directories.
    • isForRecursion

      public boolean isForRecursion()
      Description copied from interface: FileListFilter
      Return true if this filter is being used for recursion.
      Returns:
      whether or not to filter based on the full path.
    • setForRecursion

      public void setForRecursion(boolean forRecursion)
      Set to true to inform a recursive gateway operation to use the full file path as the metadata key. Also sets alwaysAcceptDirectories.
      Parameters:
      forRecursion - true to use the full path.
      Since:
      5.3.6
    • alwaysAccept

      protected boolean alwaysAccept(F file)
    • isDirectory

      protected abstract boolean isDirectory(F file)
      Subclasses must implement this method to indicate whether the file is a directory or not.
      Parameters:
      file - the file.
      Returns:
      true if it's a directory.