Class WildcardFilter

  • All Implemented Interfaces:
    java.io.FileFilter, java.io.FilenameFilter, java.io.Serializable, java.nio.file.FileVisitor<java.nio.file.Path>, PathFilter, PathVisitor, IOFileFilter

    @Deprecated
    public class WildcardFilter
    extends AbstractFileFilter
    implements java.io.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 = new File(".");
     FileFilter fileFilter = new WildcardFilter("*test*.java~*~");
     File[] files = dir.listFiles(fileFilter);
     for (String file : files) {
         System.out.println(file);
     }
     

    Using NIO

     final Path dir = Paths.get("");
     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());
     
    Since:
    1.1
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      WildcardFilter​(java.lang.String wildcard)
      Deprecated.
      Construct a new case-sensitive wildcard filter for a single wildcard.
      WildcardFilter​(java.lang.String... wildcards)
      Deprecated.
      Construct a new case-sensitive wildcard filter for an array of wildcards.
      WildcardFilter​(java.util.List<java.lang.String> wildcards)
      Deprecated.
      Construct a new case-sensitive wildcard filter for a list of wildcards.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      boolean accept​(java.io.File file)
      Deprecated.
      Checks to see if the file name matches one of the wildcards.
      boolean accept​(java.io.File dir, java.lang.String name)
      Deprecated.
      Checks to see if the file name matches one of the wildcards.
      java.nio.file.FileVisitResult accept​(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)
      Deprecated.
      Checks to see if the file name matches one of the wildcards.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • WildcardFilter

        public WildcardFilter​(java.util.List<java.lang.String> wildcards)
        Deprecated.
        Construct a new case-sensitive wildcard filter for a list of wildcards.
        Parameters:
        wildcards - the list of wildcards to match
        Throws:
        java.lang.IllegalArgumentException - if the pattern list is null
        java.lang.ClassCastException - if the list does not contain Strings
      • WildcardFilter

        public WildcardFilter​(java.lang.String wildcard)
        Deprecated.
        Construct a new case-sensitive wildcard filter for a single wildcard.
        Parameters:
        wildcard - the wildcard to match
        Throws:
        java.lang.IllegalArgumentException - if the pattern is null
      • WildcardFilter

        public WildcardFilter​(java.lang.String... wildcards)
        Deprecated.
        Construct a new case-sensitive wildcard filter for an array of wildcards.
        Parameters:
        wildcards - the array of wildcards to match
        Throws:
        java.lang.IllegalArgumentException - if the pattern array is null
    • Method Detail

      • accept

        public boolean accept​(java.io.File file)
        Deprecated.
        Checks to see if the file name matches one of the wildcards.
        Specified by:
        accept in interface java.io.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 java.nio.file.FileVisitResult accept​(java.nio.file.Path file,
                                                    java.nio.file.attribute.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:
        file - 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
      • accept

        public boolean accept​(java.io.File dir,
                              java.lang.String name)
        Deprecated.
        Checks to see if the file name matches one of the wildcards.
        Specified by:
        accept in interface java.io.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