// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the CPL Common Public License version 1.0.
package util;
import java.io.File;
import java.io.FilenameFilter;
public class Wildcard implements FilenameFilter {
private String pattern;
private String prefix;
private String sufix;
private int length;
public Wildcard(String pattern) {
int starIndex = pattern.indexOf("*");
if (starIndex > -1) {
prefix = pattern.substring(0, starIndex);
sufix = pattern.substring(starIndex + 1);
length = prefix.length() + sufix.length();
} else {
this.pattern = pattern;
}
}
public boolean accept(File dir, String name) {
if (pattern != null)
return pattern.equals(name);
boolean goodLength = name.length() >= length;
boolean goodPrefix = name.startsWith(prefix);
boolean goodSufix = name.endsWith(sufix);
return goodLength && goodPrefix && goodSufix;
}
}