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
Version:
  $Id$
See Also:
  `FileFilterUtils.or(IOFileFilter...)`, Serialized Form

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