Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Vosburgh2013-04-08 19:46:40 +0000
committerBrian Vosburgh2013-04-08 19:46:40 +0000
commit478a0c76ec02901faf71d151d919036b2aee6dec (patch)
tree490979b4ee1c38b5d60e7d1c3e24d06c30dc3a61 /common/plugins/org.eclipse.jpt.common.core/src
parent227b3a6d6bbcf398420bc7d8631801de49b20efb (diff)
downloadwebtools.dali-478a0c76ec02901faf71d151d919036b2aee6dec.tar.gz
webtools.dali-478a0c76ec02901faf71d151d919036b2aee6dec.tar.xz
webtools.dali-478a0c76ec02901faf71d151d919036b2aee6dec.zip
refactor some JDT utility methods etc.
Diffstat (limited to 'common/plugins/org.eclipse.jpt.common.core/src')
-rw-r--r--common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaElementTools.java21
-rw-r--r--common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaProjectTools.java22
-rw-r--r--common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PackageFragmentRootTools.java26
3 files changed, 52 insertions, 17 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaElementTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaElementTools.java
index 2296cfa8f1..b6ca560215 100644
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaElementTools.java
+++ b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaElementTools.java
@@ -14,12 +14,16 @@ import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IParent;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jpt.common.core.internal.plugin.JptCommonCorePlugin;
+import org.eclipse.jpt.common.utility.internal.predicate.PredicateAdapter;
+import org.eclipse.jpt.common.utility.predicate.Predicate;
/**
* {@link IJavaElement} convenience methods.
*/
public class JavaElementTools {
+ // ********** children **********
+
/**
* Wrap checked exception and check for out of sync workspace.
*/
@@ -36,6 +40,23 @@ public class JavaElementTools {
}
private static final IJavaElement[] EMPTY_JAVA_ELEMENT_ARRAY = new IJavaElement[0];
+
+ // ********** exists **********
+
+ public static final Predicate<IJavaElement> EXISTS = new Exists();
+
+ public static class Exists
+ extends PredicateAdapter<IJavaElement>
+ {
+ @Override
+ public boolean evaluate(IJavaElement javaElement) {
+ return javaElement.exists();
+ }
+ }
+
+
+ // ********** disabled constructor **********
+
private JavaElementTools() {
throw new UnsupportedOperationException();
}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaProjectTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaProjectTools.java
index 83691eb756..a5171cddd5 100644
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaProjectTools.java
+++ b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JavaProjectTools.java
@@ -24,8 +24,6 @@ import org.eclipse.jpt.common.utility.internal.collection.CollectionTools;
import org.eclipse.jpt.common.utility.internal.iterable.EmptyIterable;
import org.eclipse.jpt.common.utility.internal.iterable.IterableTools;
import org.eclipse.jpt.common.utility.internal.predicate.CriterionPredicate;
-import org.eclipse.jpt.common.utility.predicate.Predicate;
-import org.eclipse.jpt.common.utility.transformer.Transformer;
/**
* {@link IJavaProject} convenience methods.
@@ -42,25 +40,15 @@ public final class JavaProjectTools {
}
/**
- * Returns an iterable of *existing* {@link IPackageFragment}s for the given project that have
- * the specified name
+ * Return the specified Java project's <em>existing</em>
+ * {@link IPackageFragment}s with the specified name.
*/
- public static Iterable<IPackageFragment> getPackageFragments(
- final IJavaProject javaProject, final String packageName) {
-
+ public static Iterable<IPackageFragment> getPackageFragments(IJavaProject javaProject, String packageName) {
return IterableTools.filter(
IterableTools.transform(
getPackageFragmentRoots(javaProject),
- new Transformer<IPackageFragmentRoot, IPackageFragment>() {
- public IPackageFragment transform(IPackageFragmentRoot pfr) {
- return pfr.getPackageFragment(packageName);
- }
- }),
- new Predicate<IPackageFragment>() {
- public boolean evaluate(IPackageFragment pf) {
- return pf.exists();
- }
- });
+ new PackageFragmentRootTools.PackageFragmentTransformer(packageName)),
+ JavaElementTools.EXISTS);
}
public static Iterable<IPackageFragmentRoot> getSourceFolders(IJavaProject javaProject) {
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PackageFragmentRootTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PackageFragmentRootTools.java
index ca606452ba..ae7bc0e3bd 100644
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PackageFragmentRootTools.java
+++ b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PackageFragmentRootTools.java
@@ -10,10 +10,12 @@
package org.eclipse.jpt.common.core.internal.utility;
import org.eclipse.core.resources.IResource;
+import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jpt.common.core.internal.plugin.JptCommonCorePlugin;
import org.eclipse.jpt.common.utility.internal.predicate.PredicateAdapter;
+import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter;
import org.eclipse.jpt.common.utility.predicate.Predicate;
/**
@@ -81,6 +83,30 @@ public final class PackageFragmentRootTools {
return (resource != null) && (resource.getType() == IResource.FOLDER);
}
+
+ // ********** package fragment **********
+
+ /**
+ * Transform a package fragment root into the configured package fragment.
+ * @see IPackageFragmentRoot#getPackageFragment(String)
+ */
+ public static class PackageFragmentTransformer
+ extends TransformerAdapter<IPackageFragmentRoot, IPackageFragment>
+ {
+ private final String packageName;
+ public PackageFragmentTransformer(String packageName) {
+ super();
+ this.packageName = packageName;
+ }
+ @Override
+ public IPackageFragment transform(IPackageFragmentRoot pfr) {
+ return pfr.getPackageFragment(this.packageName);
+ }
+ }
+
+
+ // ********** disabled constructor **********
+
private PackageFragmentRootTools() {
throw new UnsupportedOperationException();
}

Back to the top