package org.apache.commons.io.filefilter; import java.io.File; import java.io.Serializable; import org.apache.commons.io.IOCase; public class PrefixFileFilter extends AbstractFileFilter implements Serializable { private final String[] prefixes; private final IOCase caseSensitivity; public PrefixFileFilter(String prefix) { this(prefix, IOCase.SENSITIVE); } public PrefixFileFilter(String prefix, IOCase caseSensitivity) { if (prefix == null) { throw new IllegalArgumentException("The prefix must not be null"); } this.prefixes = new String[] { prefix }; this.caseSensitivity = (caseSensitivity == null ? IOCase.SENSITIVE : caseSensitivity); } public boolean accept(File file) { String name = file.getName(); for (String prefix : this.prefixes) { if (this.caseSensitivity.checkStartsWith(name, prefix)) { return true; } } return false; } public boolean accept(File file, String name) { for (String prefix : this.prefixes) { if (this.caseSensitivity.checkStartsWith(name, prefix)) { return true; } } return false; } public String toString() { StringBuilder buffer = new StringBuilder(); buffer.append(super.toString()); buffer.append("("); if (this.prefixes != null) { for (int i = 0; i < this.prefixes.length; i++) { if (i > 0) { buffer.append(","); } buffer.append(this.prefixes[i]); } } buffer.append(")"); return buffer.toString(); } }