diff options
author | Brian Vosburgh | 2013-04-08 19:46:40 +0000 |
---|---|---|
committer | Brian Vosburgh | 2013-04-08 19:46:40 +0000 |
commit | 478a0c76ec02901faf71d151d919036b2aee6dec (patch) | |
tree | 490979b4ee1c38b5d60e7d1c3e24d06c30dc3a61 /common/plugins/org.eclipse.jpt.common.core/src | |
parent | 227b3a6d6bbcf398420bc7d8631801de49b20efb (diff) | |
download | webtools.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')
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(); } |