Package org.apache.commons.io.filefilter

# Class WildcardFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.WildcardFilter

All Implemented Interfaces:
  `FileFilter`, `FilenameFilter`, `Serializable`, `FileVisitor<Path>`, `PathMatcher`, `PathFilter`, `PathVisitor`, `IOFileFilter`

@Deprecated public class WildcardFilter extends AbstractFileFilter implements Serializable
Deprecated.
Use WildcardFileFilter. Deprecated as this class performs directory filtering which it shouldn't do, but that can't be removed due to compatibility.
Filters files using the supplied wildcards.

This filter selects files, but not directories, based on one or more wildcards and using case-sensitive comparison.

The wildcard matcher uses the characters '?' and '*' to represent a single or multiple wildcard characters. This is the same as often found on DOS/Unix command lines. The extension check is case-sensitive. See `FilenameUtils.wildcardMatch(String, String)` for more information.

For example:

## Using Classic IO

     File dir = FileUtils.current();
     FileFilter fileFilter = new WildcardFilter("*test*.java~*~");
     File[] files = dir.listFiles(fileFilter);
     for (String file : files) {
         System.out.println(file);
     }

## Using NIO

     final Path dir = PathUtils.current();
     final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new WildcardFilter("*test*.java~*~"));
     //
     // Walk one dir
     Files.walkFileTree(dir, Collections.emptySet(), 1, visitor);
     System.out.println(visitor.getPathCounters());
     System.out.println(visitor.getFileList());
     //
     visitor.getPathCounters().reset();
     //
     // Walk dir tree
     Files.walkFileTree(dir, visitor);
     System.out.println(visitor.getPathCounters());
     System.out.println(visitor.getDirList());
     System.out.println(visitor.getFileList());

## Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
  1.1
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter

  `EMPTY_STRING_ARRAY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WildcardFilter(String wildcard)`
  Deprecated.
  Constructs a new case-sensitive wildcard filter for a single wildcard.
  `WildcardFilter(String... wildcards)`
  Deprecated.
  Constructs a new case-sensitive wildcard filter for an array of wildcards.
  `WildcardFilter(List<String> wildcards)`
  Deprecated.
  Constructs a new case-sensitive wildcard filter for a list of wildcards.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `accept(File file)`
  Deprecated.
  Checks to see if the file name matches one of the wildcards.
  `boolean`
  `accept(File dir, String name)`
  Deprecated.
  Checks to see if the file name matches one of the wildcards.
  `FileVisitResult`
  `accept(Path path, BasicFileAttributes attributes)`
  Deprecated.
  Checks to see if the file name matches one of the wildcards.

  ### Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter

  `handle, postVisitDirectory, preVisitDirectory, toString, visitFile, visitFileFailed`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.commons.io.filefilter.IOFileFilter

  `and, matches, negate, or`

- ## Constructor Details

  - ### WildcardFilter

    public WildcardFilter(List<String> wildcards)
    Deprecated.
    Constructs a new case-sensitive wildcard filter for a list of wildcards.
    Parameters:
      `wildcards` - the list of wildcards to match
    Throws:
      `NullPointerException` - if the pattern list is null
      `ClassCastException` - if the list does not contain Strings

  - ### WildcardFilter

    public WildcardFilter(String wildcard)
    Deprecated.
    Constructs a new case-sensitive wildcard filter for a single wildcard.
    Parameters:
      `wildcard` - the wildcard to match
    Throws:
      `NullPointerException` - if the pattern is null

  - ### WildcardFilter

    public WildcardFilter(String... wildcards)
    Deprecated.
    Constructs a new case-sensitive wildcard filter for an array of wildcards.
    Parameters:
      `wildcards` - the array of wildcards to match
    Throws:
      `NullPointerException` - if the pattern array is null

- ## Method Details

  - ### accept

    public boolean accept(File file)
    Deprecated.
    Checks to see if the file name matches one of the wildcards.
    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 file name matches one of the wildcards

  - ### accept

    public boolean accept(File dir, String name)
    Deprecated.
    Checks to see if the file name matches one of the wildcards.
    Specified by:
      `accept` in interface `FilenameFilter`
    Specified by:
      `accept` in interface `IOFileFilter`
    Overrides:
      `accept` in class `AbstractFileFilter`
    Parameters:
      `dir` - the file directory
      `name` - the file name
    Returns:
      true if the file name matches one of the wildcards

  - ### accept

    public FileVisitResult accept(Path path, BasicFileAttributes attributes)
    Deprecated.
    Checks to see if the file name matches one of the wildcards.
    Specified by:
      `accept` in interface `IOFileFilter`
    Specified by:
      `accept` in interface `PathFilter`
    Parameters:
      `path` - the file to check
      `attributes` - the file's basic attributes (TODO may be null).
    Returns:
      true if the file name matches one of the wildcards
    Since:
      2.9.0