package jdepend.parse.impl;
import java.lang.reflect.Constructor;
import jdepend.parse.ParseConfigurator;
public class ClassFileParserFactory {
public ClassFileParserFactory() {
}
public AbstractParser createParser(ParseConfigurator conf) {
AbstractParser parser = null;
String parserName = conf.getClassFileParser();
if (parserName == null) {
return new BCELClassFileParser(conf);
}
try {
Constructor c = this.getClass().getClassLoader().loadClass(parserName)
.getConstructor(new Class[] { PackageFilter.class });
parser = (AbstractParser) c.newInstance(new Object[] { conf });
} catch (Exception e) {
e.printStackTrace();
parser = new BCELClassFileParser(conf);
}
return parser;
}
}