1 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 ; 13 import java.util.Arrays ; 14 15 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 getSignature() { 67 return ""; 68 } 69 70 public String [] getFields() { 71 ArrayList <String > list = new ArrayList <String >(); 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 [0]); 79 } 80 81 public String toString() { 82 return m_project.getElementName(); 83 } 84 } 85 | Popular Tags |