Class AndFileFilter

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

    public class AndFileFilter
    extends AbstractFileFilter
    implements ConditionalFileFilter, java.io.Serializable
    A FileFilter providing conditional AND logic across a list of file filters. This filter returns true if all filters in the list return true. Otherwise, it returns false. Checking of the file filter list stops when the first filter returns false.

    Deprecating Serialization

    Serialization is deprecated and will be removed in 3.0.

    Since:
    1.0
    See Also:
    FileFilterUtils.and(IOFileFilter...), Serialized Form
    • Constructor Detail

      • AndFileFilter

        public AndFileFilter()
        Constructs a new empty instance.
        Since:
        1.1
      • AndFileFilter

        public AndFileFilter​(IOFileFilter... fileFilters)
        Constructs a new instance for the give filters.
        Parameters:
        fileFilters - filters to OR.
        Since:
        2.9.0
      • AndFileFilter

        public AndFileFilter​(IOFileFilter filter1,
                             IOFileFilter filter2)
        Constructs a new file filter that ANDs the result of other filters.
        Parameters:
        filter1 - the first filter, must second be null
        filter2 - the first filter, must not be null
        Throws:
        java.lang.IllegalArgumentException - if either filter is null
      • AndFileFilter

        public AndFileFilter​(java.util.List<IOFileFilter> fileFilters)
        Constructs a new instance of AndFileFilter with the specified list of filters.
        Parameters:
        fileFilters - a List of IOFileFilter instances, copied.
        Since:
        1.1
    • Method Detail

      • accept

        public boolean accept​(java.io.File file)
        Checks to see if the File should be accepted by this filter.
        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 this file matches the test
      • accept

        public boolean accept​(java.io.File file,
                              java.lang.String name)
        Checks to see if the File should be accepted by this filter.
        Specified by:
        accept in interface java.io.FilenameFilter
        Specified by:
        accept in interface IOFileFilter
        Overrides:
        accept in class AbstractFileFilter
        Parameters:
        file - the directory File to check
        name - the file name within the directory to check
        Returns:
        true if this file matches the test
      • accept

        public java.nio.file.FileVisitResult accept​(java.nio.file.Path file,
                                                    java.nio.file.attribute.BasicFileAttributes attributes)
        Checks to see if a Path should be accepted by this filter.
        Specified by:
        accept in interface IOFileFilter
        Specified by:
        accept in interface PathFilter
        Parameters:
        file - the Path to check.
        attributes - the file's basic attributes (TODO may be null).
        Returns:
        true if this path matches the test.
        Since:
        2.9.0
      • addFileFilter

        public void addFileFilter​(IOFileFilter fileFilter)
        Adds the specified file filter to the list of file filters at the end of the list.
        Specified by:
        addFileFilter in interface ConditionalFileFilter
        Parameters:
        fileFilter - the filter to be added
      • addFileFilter

        public void addFileFilter​(IOFileFilter... fileFilters)
        Adds the given file filters.
        Parameters:
        fileFilters - the filters to add.
        Since:
        2.9.0
      • removeFileFilter

        public boolean removeFileFilter​(IOFileFilter ioFileFilter)
        Removes the specified file filter.
        Specified by:
        removeFileFilter in interface ConditionalFileFilter
        Parameters:
        ioFileFilter - filter to be removed
        Returns:
        true if the filter was found in the list, false otherwise
      • setFileFilters

        public void setFileFilters​(java.util.List<IOFileFilter> fileFilters)
        Sets the list of file filters, replacing any previously configured file filters on this filter.
        Specified by:
        setFileFilters in interface ConditionalFileFilter
        Parameters:
        fileFilters - the list of filters
      • toString

        public java.lang.String toString()
        Provide a String representation of this file filter.
        Overrides:
        toString in class AbstractFileFilter
        Returns:
        a String representation