Class OrFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.OrFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, Serializable, 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.
Since:
1.0
See Also:
  • Field Details

  • Constructor Details

    • OrFileFilter

      public OrFileFilter()
      Constructs a new instance of OrFileFilter.
      Since:
      1.1
    • 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, null ignored
      Since:
      1.1
    • OrFileFilter

      public OrFileFilter(IOFileFilter filter1, IOFileFilter filter2)
      Constructs a new file filter that ORs the result of two 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
  • Method Details

    • addFileFilter

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

      public List<IOFileFilter> getFileFilters()
      Returns 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 ioFileFilter)
      Removes the specified file filter.
      Specified by:
      removeFileFilter in interface ConditionalFileFilter
      Parameters:
      ioFileFilter - 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
    • 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
    • toString

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