org.apache.commons.io.filefilter

## Class SuffixFileFilter

- java.lang.Object
- - org.apache.commons.io.filefilter.AbstractFileFilter
  - - org.apache.commons.io.filefilter.SuffixFileFilter

All Implemented Interfaces:
  FileFilter, FilenameFilter, Serializable, IOFileFilter

    public class SuffixFileFilter
    extends AbstractFileFilter
    implements Serializable

Filters files based on the suffix (what the filename ends with). This is used in retrieving all the files of a particular type.

For example, to retrieve and print all `*.java` files in the current directory:

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

Since:
  1.0
Version:
  $Id$
See Also:
  `FileFilterUtils.suffixFileFilter(String)`, `FileFilterUtils.suffixFileFilter(String, IOCase)`, Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`SuffixFileFilter(List<String> suffixes)` Constructs a new Suffix file filter for a list of suffixes.
`SuffixFileFilter(List<String> suffixes, IOCase caseSensitivity)` Constructs a new Suffix file filter for a list of suffixes specifying case-sensitivity.
`SuffixFileFilter(String suffix)` Constructs a new Suffix file filter for a single extension.
`SuffixFileFilter(String[] suffixes)` Constructs a new Suffix file filter for an array of suffixes.
`SuffixFileFilter(String[] suffixes, IOCase caseSensitivity)` Constructs a new Suffix file filter for an array of suffixes specifying case-sensitivity.
`SuffixFileFilter(String suffix, IOCase caseSensitivity)` Constructs a new Suffix file filter for a single extension specifying case-sensitivity.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `accept(File file)` Checks to see if the filename ends with the suffix.
`boolean` `accept(File file, String name)` Checks to see if the filename ends with the suffix.
`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

#### SuffixFileFilter

    public SuffixFileFilter(String suffix)

Constructs a new Suffix file filter for a single extension.

Parameters:
  `suffix` - the suffix to allow, must not be null
Throws:
  `IllegalArgumentException` - if the suffix is null

#### SuffixFileFilter

    public SuffixFileFilter(String suffix,
                            IOCase caseSensitivity)

Constructs a new Suffix file filter for a single extension specifying case-sensitivity.

Parameters:
  `suffix` - the suffix to allow, must not be null
  `caseSensitivity` - how to handle case sensitivity, null means case-sensitive
Throws:
  `IllegalArgumentException` - if the suffix is null
Since:
  1.4

#### SuffixFileFilter

    public SuffixFileFilter(String[] suffixes)

Constructs a new Suffix file filter for an array of suffixes.

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

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

#### SuffixFileFilter

    public SuffixFileFilter(String[] suffixes,
                            IOCase caseSensitivity)

Constructs a new Suffix file filter for an array of suffixes specifying case-sensitivity.

Parameters:
  `suffixes` - the suffixes to allow, must not be null
  `caseSensitivity` - how to handle case sensitivity, null means case-sensitive
Throws:
  `IllegalArgumentException` - if the suffix array is null
Since:
  1.4

#### SuffixFileFilter

    public SuffixFileFilter(List<String> suffixes)

Constructs a new Suffix file filter for a list of suffixes.

Parameters:
  `suffixes` - the suffixes to allow, must not be null
Throws:
  `IllegalArgumentException` - if the suffix list is null
  `ClassCastException` - if the list does not contain Strings

#### SuffixFileFilter

    public SuffixFileFilter(List<String> suffixes,
                            IOCase caseSensitivity)

Constructs a new Suffix file filter for a list of suffixes specifying case-sensitivity.

Parameters:
  `suffixes` - the suffixes to allow, must not be null
  `caseSensitivity` - how to handle case sensitivity, null means case-sensitive
Throws:
  `IllegalArgumentException` - if the suffix list is null
  `ClassCastException` - if the list does not contain Strings
Since:
  1.4

### Method Detail

#### accept

    public boolean accept(File file)

Checks to see if the filename ends with the suffix.

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 the filename ends with one of our suffixes

#### accept

    public boolean accept(File file,
                          String name)

Checks to see if the filename ends with the suffix.

Specified by:
  `accept` in interface `FilenameFilter`
Specified by:
  `accept` in interface `IOFileFilter`
Overrides:
  `accept` in class `AbstractFileFilter`
Parameters:
  `file` - the File directory
  `name` - the filename
Returns:
  true if the filename ends with one of our suffixes

#### toString

    public String toString()

Provide a String representation of this file filter.

Overrides:
  `toString` in class `AbstractFileFilter`
Returns:
  a String representation