Class OrFileFilter

  • 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 OrFileFilter
    extends AbstractFileFilter
    implements ConditionalFileFilter, java.io.Serializable
    A FileFilter providing conditional OR logic across a list of file filters. This filter returns true if any filters in the list return true. Otherwise, it returns false. Checking of the file filter list stops when the first filter returns true.

    Deprecating Serialization

    Serialization is deprecated and will be removed in 3.0.

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

      • OrFileFilter

        public OrFileFilter()
        Constructs a new instance of OrFileFilter.
        Since:
        1.1
      • OrFileFilter

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

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

        public OrFileFilter​(java.util.List<IOFileFilter> fileFilters)
        Constructs a new instance of OrFileFilter with the specified filters.
        Parameters:
        fileFilters - the file filters for this filter, 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.
      • 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 fileFilter)
        Removes the specified file filter.
        Specified by:
        removeFileFilter in interface ConditionalFileFilter
        Parameters:
        fileFilter - 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