org.clapper.util.io
Class OrFilenameFilter

java.lang.Object
  extended by org.clapper.util.io.OrFilenameFilter
All Implemented Interfaces:
java.io.FilenameFilter

public final class OrFilenameFilter
extends java.lang.Object
implements java.io.FilenameFilter

An OrFilenameFilter logically ORs other java.io.FilenameFilter objects. When its accept() method is called, the OrFilenameFilter object passes the file through the contained filters. The file is accepted if it is accepted by any of the contained filters. This class conceptually provides a logical "OR" operator for file filters.

The contained filters are applied in the order they were added to the OrFilenameFilter object. This class's accept() method stops looping over the contained filters as soon as it encounters one whose accept() method returns true (implementing a "short-circuited OR" operation.)

Version:
$Revision: 5812 $
Author:
Copyright © 2004-2007 Brian M. Clapper
See Also:
FilenameFilter, AndFilenameFilter, NotFilenameFilter, OrFilenameFilter, RegexFilenameFilter

Constructor Summary
OrFilenameFilter()
          Construct a new OrFilenameFilter with no contained filters.
OrFilenameFilter(java.io.FilenameFilter... filters)
          Construct a new OrFilenameFilter with two contained filters.
 
Method Summary
 boolean accept(java.io.File dir, java.lang.String name)
          Determine whether a file is to be accepted or not, based on the contained filters.
 OrFilenameFilter addFilter(java.io.FilenameFilter filter)
          Add a filter to the set of contained filters.
 void removeFilter(java.io.FilenameFilter filter)
          Remove a filter from the set of contained filters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OrFilenameFilter

public OrFilenameFilter()
Construct a new OrFilenameFilter with no contained filters.


OrFilenameFilter

public OrFilenameFilter(java.io.FilenameFilter... filters)
Construct a new OrFilenameFilter with two contained filters. Additional filters may be added later, via calls to the addFilter() method.

Parameters:
filters - filters to add
Method Detail

addFilter

public OrFilenameFilter addFilter(java.io.FilenameFilter filter)
Add a filter to the set of contained filters.

Parameters:
filter - the FilenameFilter to add.
Returns:
this object, to permit chained calls.
See Also:
removeFilter(java.io.FilenameFilter)

removeFilter

public void removeFilter(java.io.FilenameFilter filter)
Remove a filter from the set of contained filters.

Parameters:
filter - the FilenameFilter to remove.
See Also:
addFilter(java.io.FilenameFilter)

accept

public boolean accept(java.io.File dir,
                      java.lang.String name)
Determine whether a file is to be accepted or not, based on the contained filters. The file is accepted if any one of the contained filters accepts it. This method stops looping over the contained filters as soon as it encounters one whose accept() method returns true (implementing a "short-circuited OR" operation.)

If the set of contained filters is empty, then this method returns true.

Specified by:
accept in interface java.io.FilenameFilter
Parameters:
dir - The directory containing the file.
name - the file name
Returns:
true if the file matches, false if it doesn't


Copyright © 2004-2007 Brian M. Clapper. All Rights Reserved.