package org.apache.commons.io.filefilter; import java.io.File; import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class AndFileFilter extends AbstractFileFilter implements Serializable { private final List<IOFileFilter> fileFilters; public AndFileFilter() { this.fileFilters = new ArrayList(); } public AndFileFilter(List<IOFileFilter> fileFilters) { if (fileFilters == null) this.fileFilters = new ArrayList(); else this.fileFilters = new ArrayList(fileFilters); } public boolean accept(File file) { if (this.fileFilters.isEmpty()) { return false; } for (IOFileFilter fileFilter : this.fileFilters) { if (!fileFilter.accept(file)) { return false; } } return true; } public boolean accept(File file, String name) { if (this.fileFilters.isEmpty()) { return false; } for (IOFileFilter fileFilter : this.fileFilters) { if (!fileFilter.accept(file, name)) { return false; } } return true; } public String toString() { StringBuilder buffer = new StringBuilder(); buffer.append(super.toString()); buffer.append("("); if (this.fileFilters != null) { for (int i = 0; i < this.fileFilters.size(); i++) { if (i > 0) { buffer.append(","); } Object filter = this.fileFilters.get(i); buffer.append(filter == null ? "null" : filter.toString()); } } buffer.append(")"); return buffer.toString(); } }