View Javadoc

1   package net.sf.jlayercheck.util.modeltree;
2   
3   import java.util.Vector;
4   
5   import javax.swing.tree.DefaultMutableTreeNode;
6   
7   /**
8    * @see ModuleNode
9    * @author webmaster@earth3d.org
10   */
11  public class DefaultModuleNode extends DefaultMutableTreeNode implements ModuleNode {
12  
13  	/**
14  	 * 
15  	 */
16  	private static final long serialVersionUID = -1419905413709544489L;
17  
18  	protected String moduleName;
19  	
20  	protected boolean unassignedModule;
21  	
22  	public DefaultModuleNode(String moduleName) {
23  		assert(moduleName != null);
24  		
25  		this.moduleName = moduleName; 
26  		
27  		setAllowsChildren(true);
28  	}
29  
30  	public DefaultModuleNode(String moduleName2, boolean unassignedModule2) {
31  		this(moduleName2);
32  		
33  		setUnassignedModule(unassignedModule2);
34  	}
35  
36  	public Vector<PackageNode> getPackages() {
37  		if (getChildCount() > 0) {
38  			Vector<PackageNode> result = new Vector<PackageNode>();
39  			result.addAll(children);
40  			return result;
41  		}
42  		
43  		return new Vector<PackageNode>();
44  	}
45  
46  	/**
47  	 * Returns the name of this module.
48  	 */
49  	public String getModuleName() {
50  		return moduleName;
51  	}
52  
53  	/**
54  	 * Adds the given package node as child.
55  	 */
56  	public void add(PackageNode packagenode) {
57  		super.add(packagenode);
58  	}
59  	
60  	public String toString() {
61  		return getModuleName();
62  	}
63  
64  	@Override
65  	public boolean isLeaf() {
66  		return false;
67  	}
68  
69  	public String getName() {
70  		return getModuleName();
71  	}
72  	
73  	/**
74  	 * Searches for the PackageNode with the given name.
75  	 * 
76  	 * @param packagename
77  	 * @return
78  	 */
79  	public PackageNode getPackage(String packagename) {
80  		if (getPackages() == null) return null;
81  		
82  		for(PackageNode node : getPackages()) {
83  			if (node.getPackagename().equals(packagename)) {
84  				return node;
85  			}
86  		}
87  		
88  		return null;
89  	}
90  
91  	public int compareTo(ModuleNode o) {
92  		return getModuleName().compareTo(o.getModuleName());
93  	}
94  
95  	/**
96  	 * Returns true if this module is the "unassigned" module for excluded classes.
97  	 */
98  	public boolean isUnassignedModule() {
99  		return unassignedModule;
100 	}
101 
102 	public void setUnassignedModule(boolean unassignedModule) {
103 		this.unassignedModule = unassignedModule;
104 	}
105 }