package eu.bibl.cfide.ui.tree; import java.util.HashMap; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.MutableTreeNode; public class PackageTreeNode extends DefaultMutableTreeNode { private static final long serialVersionUID = 1668122196928246361L; private PackageTreeNode parentPackage; private String packageName; private HashMap<String, ClassTreeNode> classes; public PackageTreeNode(String packageName) { super(packageName); this.packageName = packageName; classes = new HashMap<String, ClassTreeNode>(); } public void setParentPacket(PackageTreeNode parentPackage) { this.parentPackage = parentPackage; } public String getPackageName() { return packageName; } public PackageTreeNode getParentPackage() { return parentPackage; } public HashMap<String, ClassTreeNode> getClasses() { return classes; } @Override public void add(MutableTreeNode node) { super.add(node); if (node instanceof ClassTreeNode) { classes.put(((ClassTreeNode) node).getClassName(), (ClassTreeNode) node); } else if (node instanceof PackageTreeNode) { ((PackageTreeNode) node).setParentPacket(this); } } }