1 package jdepend.framework; 2 3 import java.io.*; 4 import java.util.*; 5 6 14 15 public abstract class AbstractParser { 16 17 private ArrayList parseListeners; 18 private PackageFilter filter; 19 public static boolean DEBUG = false; 20 21 22 public AbstractParser() { 23 this(new PackageFilter()); 24 } 25 26 public AbstractParser(PackageFilter filter) { 27 setFilter(filter); 28 parseListeners = new ArrayList(); 29 } 30 31 public void addParseListener(ParserListener listener) { 32 parseListeners.add(listener); 33 } 34 35 39 public abstract JavaClass parse(InputStream is) throws IOException; 40 41 47 protected void onParsedJavaClass(JavaClass jClass) { 48 for (Iterator i = parseListeners.iterator(); i.hasNext();) { 49 ((ParserListener) i.next()).onParsedJavaClass(jClass); 50 } 51 } 52 53 protected PackageFilter getFilter() { 54 if (filter == null) { 55 setFilter(new PackageFilter()); 56 } 57 return filter; 58 } 59 60 protected void setFilter(PackageFilter filter) { 61 this.filter = filter; 62 } 63 64 protected void debug(String message) { 65 if (DEBUG) { 66 System.err.println(message); 67 } 68 } 69 } | Popular Tags |