org.apache.commons.io.filefilter
Class AndFileFilter

java.lang.Object
  extended byorg.apache.commons.io.filefilter.AbstractFileFilter
      extended byorg.apache.commons.io.filefilter.AndFileFilter
All Implemented Interfaces:
ConditionalFileFilter, java.io.FileFilter, java.io.FilenameFilter, IOFileFilter

public class AndFileFilter
extends AbstractFileFilter
implements IOFileFilter, ConditionalFileFilter

A FileFilter providing conditional AND logic across a list of file filters. This filter returns true if all filters in the list return true. Otherwise, it returns false. Checking of the file filter list stops when the first filter returns false.

Since:
Commons IO 1.0
Version:
$Revision: 1.11 $ $Date: 2004/10/25 23:28:29 $
Author:
Steven Caswell

Field Summary
private  java.util.List fileFilters
          The list of file filters.
 
Constructor Summary
AndFileFilter()
          Constructs a new instance of AndFileFilter.
AndFileFilter(IOFileFilter filter1, IOFileFilter filter2)
          Constructs a new file filter that ANDs the result of two other filters.
AndFileFilter(java.util.List fileFilters)
          Constructs a new instance of AndFileFilter with the specified list of filters.
 
Method Summary
 boolean accept(java.io.File file)
          Checks to see if the File should be accepted by this filter.
 boolean accept(java.io.File file, java.lang.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.
 java.util.List getFileFilters()
          Returns this conditional file filter's list of file filters.
 boolean removeFileFilter(IOFileFilter ioFileFilter)
          Removes the specified file filter.
 void setFileFilters(java.util.List fileFilters)
          Sets the list of file filters, replacing any previously configured file filters on this filter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fileFilters

private java.util.List fileFilters
The list of file filters.

Constructor Detail

AndFileFilter

public AndFileFilter()
Constructs a new instance of AndFileFilter.

Since:
Commons IO 1.1

AndFileFilter

public AndFileFilter(java.util.List fileFilters)
Constructs a new instance of AndFileFilter with the specified list of filters.

Since:
Commons IO 1.1

AndFileFilter

public AndFileFilter(IOFileFilter filter1,
                     IOFileFilter filter2)
Constructs a new file filter that ANDs the result of two other filters.

Parameters:
filter1 - the first filter, must not be null
filter2 - the second filter, must not be null
Throws:
java.lang.IllegalArgumentException - if either filter is null
Method Detail

addFileFilter

public void addFileFilter(IOFileFilter ioFileFilter)
Description copied from interface: ConditionalFileFilter
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 java.util.List getFileFilters()
Description copied from interface: ConditionalFileFilter
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)
Description copied from interface: ConditionalFileFilter
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(java.util.List 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(java.io.File file)
Description copied from interface: IOFileFilter
Checks to see if the File should be accepted by this filter.

Defined in 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(java.io.File file,
                      java.lang.String name)
Description copied from interface: IOFileFilter
Checks to see if the File should be accepted by this filter.

Defined in 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