/** * Returns a filter that ANDs the specified filters. * * @param filters the IOFileFilters that will be ANDed together. * @return a filter that ANDs the specified filters * * @throws IllegalArgumentException if the filters are null or contain a * null value. * @see AndFileFilter * @since 2.0 */ public static IOFileFilter and(final IOFileFilter... filters) { return new AndFileFilter(toList(filters)); }
/** * Returns a filter that ORs the specified filters. * * @param filters the IOFileFilters that will be ORed together. * @return a filter that ORs the specified filters * * @throws IllegalArgumentException if the filters are null or contain a * null value. * @see OrFileFilter * @since 2.0 */ public static IOFileFilter or(final IOFileFilter... filters) { return new OrFileFilter(toList(filters)); }
/** * Returns a filter that returns true if the filename matches the specified text. * * @param name the filename * @param caseSensitivity how to handle case sensitivity, null means case-sensitive * @return a name checking filter * @see NameFileFilter * @since 2.0 */ public static IOFileFilter nameFileFilter(final String name, final IOCase caseSensitivity) { return new NameFileFilter(name, caseSensitivity); }
/** * Returns a filter that accepts files in addition to the {@link File} objects accepted by the given filter. * * @param fileFilter a base filter to add to * @return a filter that accepts files */ private static IOFileFilter setUpEffectiveFileFilter(final IOFileFilter fileFilter) { return FileFilterUtils.and(fileFilter, FileFilterUtils.notFileFilter(DirectoryFileFilter.INSTANCE)); }
@Override protected IOFileFilter buildFilterUsingAdd(final List<IOFileFilter> filters) { final AndFileFilter filter = new AndFileFilter(); for (final IOFileFilter filter1 : filters) { filter.addFileFilter(filter1); } return filter; }
/** * Returns a filter that accepts directories in addition to the {@link File} objects accepted by the given filter. * * @param dirFilter a base filter to add to * @return a filter that accepts directories */ private static IOFileFilter setUpEffectiveDirFilter(final IOFileFilter dirFilter) { return dirFilter == null ? FalseFileFilter.INSTANCE : FileFilterUtils.and(dirFilter, DirectoryFileFilter.INSTANCE); }
/** * Returns a filter that NOTs the specified filter. * * @param filter the filter to invert * @return a filter that NOTs the specified filter * @see NotFileFilter */ public static IOFileFilter notFileFilter(final IOFileFilter filter) { return new NotFileFilter(filter); }
/** * Returns a filter that filters files based on a cutoff date. * * @param cutoffDate the time threshold * @param acceptOlder if true, older files get accepted, if false, newer * @return an appropriately configured age file filter * @see AgeFileFilter * @since 1.2 */ public static IOFileFilter ageFileFilter(final Date cutoffDate, final boolean acceptOlder) { return new AgeFileFilter(cutoffDate, acceptOlder); }
/** * Returns a filter that returns true if the filename starts with the specified text. * * @param prefix the filename prefix * @return a prefix checking filter * @see PrefixFileFilter */ public static IOFileFilter prefixFileFilter(final String prefix) { return new PrefixFileFilter(prefix); }
/** * Returns a filter that filters based on file size. * * @param threshold the file size threshold * @param acceptLarger if true, larger files get accepted, if false, smaller * @return an appropriately configured SizeFileFilter * @see SizeFileFilter * @since 1.2 */ public static IOFileFilter sizeFileFilter(final long threshold, final boolean acceptLarger) { return new SizeFileFilter(threshold, acceptLarger); }
/** * Returns an <code>IOFileFilter</code> that wraps the * <code>FilenameFilter</code> instance. * * @param filter the filter to be wrapped * @return a new filter that implements IOFileFilter * @see DelegateFileFilter */ public static IOFileFilter asFileFilter(final FilenameFilter filter) { return new DelegateFileFilter(filter); }
/** * Provide a String representation of this file filter. * * @return a String representation */ @Override public String toString() { final String condition = acceptOlder ? "<=" : ">"; return super.toString() + "(" + condition + cutoff + ")"; } }
@Override public boolean accept(final File file, final String str) { setInvoked(true); return super.accept(file, str); }
@Override public boolean accept(final File file) { setInvoked(true); return super.accept(file); }
public static void resetFalseFilters(final TesterFalseFileFilter[] filters) { for (final TesterFalseFileFilter filter : filters) { if (filter != null) { filter.reset(); } } }
/** * Returns a filter that returns true if the file was last modified before * or at the specified cutoff time. * * @param cutoff the time threshold * @return an appropriately configured age file filter * @see AgeFileFilter * @since 1.2 */ public static IOFileFilter ageFileFilter(final long cutoff) { return new AgeFileFilter(cutoff); }
@Override public boolean accept(final File file) { setInvoked(true); return super.accept(file); }
@Override public boolean accept(final File file, final String str) { setInvoked(true); return super.accept(file, str); }
/** * Returns a filter that returns true if the file was last modified before * or at the specified cutoff date. * * @param cutoffDate the time threshold * @return an appropriately configured age file filter * @see AgeFileFilter * @since 1.2 */ public static IOFileFilter ageFileFilter(final Date cutoffDate) { return new AgeFileFilter(cutoffDate); }
/** * Returns a filter that filters files based on a cutoff time. * * @param cutoff the time threshold * @param acceptOlder if true, older files get accepted, if false, newer * @return an appropriately configured age file filter * @see AgeFileFilter * @since 1.2 */ public static IOFileFilter ageFileFilter(final long cutoff, final boolean acceptOlder) { return new AgeFileFilter(cutoff, acceptOlder); }