org.apache.commons.io.filefilter
Class NameFileFilter

java.lang.Object
  |
  +--org.apache.commons.io.filefilter.AbstractFileFilter
        |
        +--org.apache.commons.io.filefilter.NameFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, IOFileFilter

public class NameFileFilter
extends AbstractFileFilter

Filters filenames for a certain name.

For example, to print all files and directories in the current directory whose name is Test:

 File dir = new File(".");
 String[] files = dir.list( new NameFileFilter("Test") );
 for ( int i = 0; i < files.length; i++ ) {
     System.out.println(files[i]);
 }
 

Since:
Commons IO 1.0
Version:
$Revision: 471628 $ $Date: 2006-11-05 20:06:45 -0800 (Sun, 05 Nov 2006) $
Author:
Stephen Colebourne, Federico Barbieri, Serge Knystautas, Peter Donald

Field Summary
private  IOCase caseSensitivity
          Whether the comparison is case sensitive.
private  String[] names
          The filenames to search for
 
Constructor Summary
NameFileFilter(List names)
          Constructs a new case-sensitive name file filter for a list of names.
NameFileFilter(List names, IOCase caseSensitivity)
          Constructs a new name file filter for a list of names specifying case-sensitivity.
NameFileFilter(String name)
          Constructs a new case-sensitive name file filter for a single name.
NameFileFilter(String[] names)
          Constructs a new case-sensitive name file filter for an array of names.
NameFileFilter(String[] names, IOCase caseSensitivity)
          Constructs a new name file filter for an array of names specifying case-sensitivity.
NameFileFilter(String name, IOCase caseSensitivity)
          Construct a new name file filter specifying case-sensitivity.
 
Method Summary
 boolean accept(File file)
          Checks to see if the filename matches.
 boolean accept(File file, String name)
          Checks to see if the filename matches.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

names

private String[] names
The filenames to search for

caseSensitivity

private IOCase caseSensitivity
Whether the comparison is case sensitive.
Constructor Detail

NameFileFilter

public NameFileFilter(String name)
Constructs a new case-sensitive name file filter for a single name.
Parameters:
name - the name to allow, must not be null
Throws:
IllegalArgumentException - if the name is null

NameFileFilter

public NameFileFilter(String name,
                      IOCase caseSensitivity)
Construct a new name file filter specifying case-sensitivity.
Parameters:
name - the name to allow, must not be null
caseSensitivity - how to handle case sensitivity, null means case-sensitive
Throws:
IllegalArgumentException - if the name is null

NameFileFilter

public NameFileFilter(String[] names)
Constructs a new case-sensitive name file filter for an array of names.

The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.

Parameters:
names - the names to allow, must not be null
Throws:
IllegalArgumentException - if the names array is null

NameFileFilter

public NameFileFilter(String[] names,
                      IOCase caseSensitivity)
Constructs a new name file filter for an array of names specifying case-sensitivity.

The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.

Parameters:
names - the names to allow, must not be null
caseSensitivity - how to handle case sensitivity, null means case-sensitive
Throws:
IllegalArgumentException - if the names array is null

NameFileFilter

public NameFileFilter(List names)
Constructs a new case-sensitive name file filter for a list of names.
Parameters:
names - the names to allow, must not be null
Throws:
IllegalArgumentException - if the name list is null
ClassCastException - if the list does not contain Strings

NameFileFilter

public NameFileFilter(List names,
                      IOCase caseSensitivity)
Constructs a new name file filter for a list of names specifying case-sensitivity.
Parameters:
names - the names to allow, must not be null
caseSensitivity - how to handle case sensitivity, null means case-sensitive
Throws:
IllegalArgumentException - if the name list is null
ClassCastException - if the list does not contain Strings
Method Detail

accept

public boolean accept(File file)
Checks to see if the filename matches.
Overrides:
accept in class AbstractFileFilter
Parameters:
file - the File to check
Returns:
true if the filename matches

accept

public boolean accept(File file,
                      String name)
Checks to see if the filename matches.
Overrides:
accept in class AbstractFileFilter
Parameters:
file - the File directory
name - the filename
Returns:
true if the filename matches