KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > dso > editors > tree > JavaProjectRoot


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.dso.editors.tree;
5
6 import org.eclipse.jdt.core.IJavaProject;
7 import org.eclipse.jdt.core.IPackageFragmentRoot;
8 import org.eclipse.jdt.core.JavaModelException;
9
10 import com.tc.admin.common.XRootNode;
11
12 import java.util.ArrayList JavaDoc;
13 import java.util.Arrays JavaDoc;
14
15 /**
16  * A TreeNode that represents the root of a Java project
17  *
18  * @see JavaProjectNode
19  * @see JavaProjectModel
20  */

21
22 public class JavaProjectRoot extends XRootNode {
23   private IJavaProject m_project;
24   private boolean m_showFields;
25   private boolean m_showMethods;
26   private boolean m_showTypes;
27   
28   public JavaProjectRoot(IJavaProject project) {
29     this(project, true, true, true);
30   }
31   
32   public JavaProjectRoot(
33     IJavaProject project,
34     boolean showFields,
35     boolean showMethods,
36     boolean showTypes)
37   {
38     super(project);
39
40     m_project = project;
41     m_showFields = showFields;
42     m_showMethods = showMethods;
43     m_showTypes = showTypes;
44     
45     init();
46   }
47  
48   public void init() {
49     IPackageFragmentRoot[] fragmentRoots = getPackageFragmentRoots(m_project);
50     IPackageFragmentRoot fragmentRoot;
51       
52     for(int i = 0; i < fragmentRoots.length; i++) {
53       fragmentRoot = fragmentRoots[i];
54       add(new PackageFragmentRootNode(fragmentRoot, m_showFields, m_showMethods, m_showTypes));
55     }
56   }
57   
58   private static IPackageFragmentRoot[] getPackageFragmentRoots(IJavaProject project) {
59     try {
60       return project.getPackageFragmentRoots();
61     } catch(JavaModelException jme) {
62       return null;
63     }
64   }
65   
66   public String JavaDoc getSignature() {
67     return "";
68   }
69   
70   public String JavaDoc[] getFields() {
71     ArrayList JavaDoc<String JavaDoc> list = new ArrayList JavaDoc<String JavaDoc>();
72     int childCount = getChildCount();
73     
74     for(int i = 0; i < childCount; i++) {
75       list.addAll(Arrays.asList(((JavaProjectNode)getChildAt(i)).getFields()));
76     }
77     
78     return list.toArray(new String JavaDoc[0]);
79   }
80   
81   public String JavaDoc toString() {
82     return m_project.getElementName();
83   }
84 }
85
Popular Tags