org.apache.commons.io.filefilter

## Interface IOFileFilter

- All Superinterfaces:
    FileFilter, FilenameFilter, PathFilter, PathMatcher
  All Known Implementing Classes:
    AbstractFileFilter, AgeFileFilter, AndFileFilter, CanExecuteFileFilter, CanReadFileFilter, CanWriteFileFilter, DelegateFileFilter, DirectoryFileFilter, EmptyFileFilter, FalseFileFilter, FileEqualsFileFilter, FileFileFilter, HiddenFileFilter, MagicNumberFileFilter, NameFileFilter, NotFileFilter, OrFileFilter, PathEqualsFileFilter, PathMatcherFileFilter, PathVisitorFileFilter, PrefixFileFilter, RegexFileFilter, SizeFileFilter, SuffixFileFilter, SymbolicLinkFileFilter, TrueFileFilter, WildcardFileFilter

      public interface IOFileFilter
      extends FileFilter, FilenameFilter, PathFilter, PathMatcher

  An interface which brings the `FileFilter`, `FilenameFilter`, `PathFilter`, and `PathMatcher` interfaces together.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String[]` | `EMPTY_STRING_ARRAY` An empty String array.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(File file)` Tests if a File should be accepted by this filter.
    `boolean` | `accept(File dir, String name)` Tests if a File should be accepted by this filter.
    `default FileVisitResult` | `accept(Path path, BasicFileAttributes attributes)` Checks to see if a Path should be accepted by this filter.
    `default IOFileFilter` | `and(IOFileFilter fileFilter)` Constructs a new "and" filter with this filter.
    `default boolean` | `matches(Path path)` Tests if a Path should be accepted by this filter.
    `default IOFileFilter` | `negate()` Constructs a new "not" filter with this filter.
    `default IOFileFilter` | `or(IOFileFilter fileFilter)` Constructs a new "or" filter with this filter.

- - ### Field Detail

    - #### EMPTY_STRING_ARRAY

          static final String[] EMPTY_STRING_ARRAY

      An empty String array.

  - ### Method Detail

    - #### accept

          boolean accept(File file)

      Tests if a File should be accepted by this filter.

      Defined in `FileFilter`.

      Specified by:
        `accept` in interface `FileFilter`
      Parameters:
        `file` - the File to check.
      Returns:
        true if this file matches the test.

    - #### accept

          boolean accept(File dir,
                         String name)

      Tests if a File should be accepted by this filter.

      Defined in `FilenameFilter`.

      Specified by:
        `accept` in interface `FilenameFilter`
      Parameters:
        `dir` - the directory File to check.
        `name` - the file name within the directory to check.
      Returns:
        true if this file matches the test.

    - #### accept

          default FileVisitResult accept(Path path,
                                         BasicFileAttributes attributes)

      Checks to see if a Path should be accepted by this filter.
      Specified by:
        `accept` in interface `PathFilter`
      Parameters:
        `path` - the Path to check.
        `attributes` - the path's basic attributes (may be null).
      Returns:
        true if this path matches the test.

    - #### and

          default IOFileFilter and(IOFileFilter fileFilter)

      Constructs a new "and" filter with this filter.
      Parameters:
        `fileFilter` - the filter to "and".
      Returns:
        a new filter.

    - #### matches

          default boolean matches(Path path)

      Tests if a Path should be accepted by this filter.
      Specified by:
        `matches` in interface `PathMatcher`
      Parameters:
        `path` - the Path to check.
      Returns:
        true if this path matches the test.

    - #### negate

          default IOFileFilter negate()

      Constructs a new "not" filter with this filter.
      Returns:
        a new filter.

    - #### or

          default IOFileFilter or(IOFileFilter fileFilter)

      Constructs a new "or" filter with this filter.
      Parameters:
        `fileFilter` - the filter to "or".
      Returns:
        a new filter.