[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model ...
Marshall Culpepper
mculpepper at jboss.com
Thu Feb 15 17:45:50 EST 2007
User: mculpepper
Date: 07/02/15 17:45:50
Modified: core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model
PackagesCore.java
Log:
javadoc'd getTopLevelPackage, and added getTopLevelPackages (returns all packages that refer to a certain node)
Revision Changes Path
1.13 +36 -0 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/PackagesCore.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackagesCore.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/PackagesCore.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- PackagesCore.java 9 Feb 2007 19:05:17 -0000 1.12
+++ PackagesCore.java 15 Feb 2007 22:45:50 -0000 1.13
@@ -207,6 +207,13 @@
return null;
}
+ /**
+ * Returns the top-level IPackage this node is under.
+ * Note that if this node is under a package that is being referenced elsewhere, you will need to
+ * use getTopLevelPackages() to retrieve all packages.
+ * @param node The node who's top-level package to retrieve
+ * @return
+ */
public static IPackage getTopLevelPackage (IPackageNode node)
{
IPackageNode tmp = node.getParent(), top = tmp;
@@ -222,6 +229,35 @@
}
/**
+ * Returns all top-level IPackages that this node is under (either explicitly, or through package reference)
+ * @param node
+ * @return
+ */
+ public static IPackage[] getTopLevelPackages (IPackageNode node)
+ {
+ ArrayList packages = new ArrayList();
+ packages.add(getTopLevelPackage(node));
+
+ IPackageNode tmp = node.getParent(), top = tmp;
+ while (tmp != null)
+ {
+ top = tmp;
+ if (top.getNodeType() == IPackageNode.TYPE_PACKAGE)
+ {
+ IPackage pkg = (IPackage) top;
+ IPackageReference refs[] = pkg.getReferences();
+ for (int i = 0; i < refs.length; i++)
+ {
+ packages.add(getTopLevelPackage(refs[i]));
+ }
+ }
+ tmp = tmp.getParent();
+ }
+
+ return (IPackage[]) packages.toArray(new IPackage[packages.size()]);
+ }
+
+ /**
* This will return an IPackageType instance for the passed-in packageType ID.
* @param packageType The ID of the package type
* @return A package type
More information about the jboss-cvs-commits
mailing list