Class OrFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.OrFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, Serializable, FileVisitor<Path>, PathMatcher, PathFilter, PathVisitor, ConditionalFileFilter, IOFileFilter

public class OrFileFilter extends AbstractFileFilter implements ConditionalFileFilter, Serializable
A FileFilter providing conditional OR logic across a list of file filters. This filter returns true if any filters in the list return true. Otherwise, it returns false. Checking of the file filter list stops when the first filter returns true.

Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
1.0
See Also:
  • Field Details

  • Constructor Details

    • OrFileFilter

      public OrFileFilter()
      Constructs a new instance of OrFileFilter.
      Since:
      1.1
    • OrFileFilter

      private OrFileFilter(ArrayList<IOFileFilter> initialList)
      Constructs a new instance with the given initial list.
      Parameters:
      initialList - the initial list.
    • OrFileFilter

      private OrFileFilter(int initialCapacity)
      Constructs a new instance with the given initial capacity.
      Parameters:
      initialCapacity - the initial capacity.
    • OrFileFilter

      public OrFileFilter(IOFileFilter... fileFilters)
      Constructs a new instance for the give filters.
      Parameters:
      fileFilters - filters to OR.
      Since:
      2.9.0
    • OrFileFilter

      public OrFileFilter(IOFileFilter filter1, IOFileFilter filter2)
      Constructs a new file filter that ORs the result of other filters.
      Parameters:
      filter1 - the first filter, must not be null
      filter2 - the second filter, must not be null
      Throws:
      IllegalArgumentException - if either filter is null
    • OrFileFilter

      public OrFileFilter(List<IOFileFilter> fileFilters)
      Constructs a new instance of OrFileFilter with the specified filters.
      Parameters:
      fileFilters - the file filters for this filter, copied.
      Since:
      1.1
  • Method Details

    • accept

      public boolean accept(File file)
      Checks to see if the File should be accepted by this filter.
      Specified by:
      accept in interface FileFilter
      Specified by:
      accept in interface IOFileFilter
      Overrides:
      accept in class AbstractFileFilter
      Parameters:
      file - the File to check
      Returns:
      true if this file matches the test
    • accept

      public boolean accept(File file, String name)
      Checks to see if the File should be accepted by this filter.
      Specified by:
      accept in interface FilenameFilter
      Specified by:
      accept in interface IOFileFilter
      Overrides:
      accept in class AbstractFileFilter
      Parameters:
      file - the directory File to check
      name - the file name within the directory to check
      Returns:
      true if this file matches the test
    • accept

      public FileVisitResult accept(Path file, BasicFileAttributes attributes)
      Checks to see if a Path should be accepted by this filter.
      Specified by:
      accept in interface IOFileFilter
      Specified by:
      accept in interface PathFilter
      Parameters:
      file - the Path to check.
      attributes - the file's basic attributes (TODO may be null).
      Returns:
      true if this path matches the test.
    • addFileFilter

      public void addFileFilter(IOFileFilter fileFilter)
      Adds the specified file filter to the list of file filters at the end of the list.
      Specified by:
      addFileFilter in interface ConditionalFileFilter
      Parameters:
      fileFilter - the filter to be added
    • addFileFilter

      public void addFileFilter(IOFileFilter... fileFilters)
      Adds the given file filters.
      Parameters:
      fileFilters - the filters to add.
      Since:
      2.9.0
    • getFileFilters

      public List<IOFileFilter> getFileFilters()
      Gets this conditional file filter's list of file filters.
      Specified by:
      getFileFilters in interface ConditionalFileFilter
      Returns:
      the file filter list
    • removeFileFilter

      public boolean removeFileFilter(IOFileFilter fileFilter)
      Removes the specified file filter.
      Specified by:
      removeFileFilter in interface ConditionalFileFilter
      Parameters:
      fileFilter - filter to be removed
      Returns:
      true if the filter was found in the list, false otherwise
    • setFileFilters

      public void setFileFilters(List<IOFileFilter> fileFilters)
      Sets the list of file filters, replacing any previously configured file filters on this filter.
      Specified by:
      setFileFilters in interface ConditionalFileFilter
      Parameters:
      fileFilters - the list of filters
    • toString

      public String toString()
      Provide a String representation of this file filter.
      Overrides:
      toString in class AbstractFileFilter
      Returns:
      a String representation