01: /*
02: This library is free software; you can redistribute it and/or
03: modify it under the terms of the GNU General Public
04: License as published by the Free Software Foundation; either
05: version 2 of the license, or (at your option) any later version.
06: */
07:
08: package org.gjt.jclasslib.browser.config.classpath;
09:
10: import javax.swing.tree.DefaultTreeModel;
11:
12: /**
13: A logical component of the classpath.
14:
15: @author <a href="mailto:jclasslib@ej-technologies.com">Ingo Kegel</a>
16: @version $Revision: 1.1 $ $Date: 2003/08/18 08:10:15 $
17: */
18: public interface ClasspathComponent {
19:
20: /**
21: * Find a class by name within thsi classpath component.
22: * @param className the name of the class
23: * @return the <tt>FindResult</tt> object. <tt>null</tt> if no class could be found.
24: */
25: public FindResult findClass(String className);
26:
27: /**
28: * Merge all classes in this classpath component into the supplied tree.
29: * @param model the tree model.
30: * @param reset whether this is an incremental operation or part of a reset.
31: * For a reset, no change events will be fired on the tree model.
32: */
33: public void mergeClassesIntoTree(DefaultTreeModel model,
34: boolean reset);
35:
36: /**
37: * Add a <tt>ClasspathChangeListener</tt>.
38: * @param listener the listener
39: */
40: public void addClasspathChangeListener(
41: ClasspathChangeListener listener);
42:
43: /**
44: * Remove a <tt>ClasspathChangeListener</tt>.
45: * @param listener the listener
46: */
47: public void removeClasspathChangeListener(
48: ClasspathChangeListener listener);
49: }
|