org.apache.commons.io.filefilter

## 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:
    `FileFilterUtils.or(IOFileFilter...)`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter

      `EMPTY_STRING_ARRAY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `OrFileFilter()` Constructs a new instance of `OrFileFilter`.
    `OrFileFilter(IOFileFilter filter1, IOFileFilter filter2)` Constructs a new file filter that ORs the result of two other filters.
    `OrFileFilter(List<IOFileFilter> fileFilters)` Constructs a new instance of `OrFileFilter` with the specified filters.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(File file)` Checks to see if the File should be accepted by this filter.
    `boolean` | `accept(File file, String name)` Checks to see if the File should be accepted by this filter.
    `void` | `addFileFilter(IOFileFilter ioFileFilter)` Adds the specified file filter to the list of file filters at the end of the list.
    `List<IOFileFilter>` | `getFileFilters()` Returns this conditional file filter's list of file filters.
    `boolean` | `removeFileFilter(IOFileFilter ioFileFilter)` Removes the specified file filter.
    `void` | `setFileFilters(List<IOFileFilter> fileFilters)` Sets the list of file filters, replacing any previously configured file filters on this filter.
    `String` | `toString()` Provide a String representation of this file filter.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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

Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.