package org.emdev.common.filesystem; import java.io.File; import java.io.FileFilter; public class CompositeFilter implements FileFilter { final boolean acceptAll; final FileFilter[] fileFilters; public CompositeFilter(final boolean acceptAll, final FileFilter... fileFilters) { this.acceptAll = acceptAll; this.fileFilters = fileFilters; } @Override public boolean accept(final File file) { boolean res = false; if (acceptAll) { res = true; for (final FileFilter f : fileFilters) { res &= f.accept(file); if (!res) { break; } } } else { for (final FileFilter f : fileFilters) { res |= f.accept(file); if (res) { break; } } } return res; } }