Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JavaElementResourceMapping.java')
-rw-r--r--bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JavaElementResourceMapping.java398
1 files changed, 0 insertions, 398 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JavaElementResourceMapping.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JavaElementResourceMapping.java
deleted file mode 100644
index 77118a0d..00000000
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/corext/util/JavaElementResourceMapping.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.internal.corext.util;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.mapping.RemoteResourceMappingContext;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.resources.mapping.ResourceMappingContext;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.wst.jsdt.core.IClassFile;
-import org.eclipse.wst.jsdt.core.IJavaScriptUnit;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-import org.eclipse.wst.jsdt.core.IJavaScriptModel;
-import org.eclipse.wst.jsdt.core.IJavaScriptProject;
-import org.eclipse.wst.jsdt.core.IPackageFragment;
-import org.eclipse.wst.jsdt.core.IPackageFragmentRoot;
-import org.eclipse.wst.jsdt.core.IType;
-import org.eclipse.wst.jsdt.core.JavaScriptModelException;
-import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
-import org.eclipse.wst.jsdt.internal.ui.browsing.LogicalPackage;
-import org.eclipse.wst.jsdt.internal.ui.model.JavaModelProvider;
-
-/**
- * An abstract super class to describe mappings from a Java element to a
- * set of resources. The class also provides factory methods to create
- * resource mappings.
- *
- *
- */
-public abstract class JavaElementResourceMapping extends ResourceMapping {
-
- protected JavaElementResourceMapping() {
- }
-
- public IJavaScriptElement getJavaElement() {
- Object o= getModelObject();
- if (o instanceof IJavaScriptElement)
- return (IJavaScriptElement)o;
- return null;
- }
-
- public boolean equals(Object obj) {
- if (!(obj instanceof JavaElementResourceMapping))
- return false;
- return getJavaElement().equals(((JavaElementResourceMapping)obj).getJavaElement());
- }
-
- public int hashCode() {
- IJavaScriptElement javaElement= getJavaElement();
- if (javaElement == null)
- return super.hashCode();
-
- return javaElement.hashCode();
- }
-
- public String getModelProviderId() {
- return JavaModelProvider.JAVA_MODEL_PROVIDER_ID;
- }
-
- public boolean contains(ResourceMapping mapping) {
- if (mapping instanceof JavaElementResourceMapping) {
- JavaElementResourceMapping javaMapping = (JavaElementResourceMapping) mapping;
- IJavaScriptElement element = getJavaElement();
- IJavaScriptElement other = javaMapping.getJavaElement();
- if (other != null && element != null)
- return element.getPath().isPrefixOf(other.getPath());
- }
- return false;
- }
-
- //---- the factory code ---------------------------------------------------------------
-
- private static final class JavaModelResourceMapping extends JavaElementResourceMapping {
- private final IJavaScriptModel fJavaModel;
- private JavaModelResourceMapping(IJavaScriptModel model) {
- Assert.isNotNull(model);
- fJavaModel= model;
- }
- public Object getModelObject() {
- return fJavaModel;
- }
- public IProject[] getProjects() {
- IJavaScriptProject[] projects= null;
- try {
- projects= fJavaModel.getJavaScriptProjects();
- } catch (JavaScriptModelException e) {
- JavaScriptPlugin.log(e);
- return new IProject[0];
- }
- IProject[] result= new IProject[projects.length];
- for (int i= 0; i < projects.length; i++) {
- result[i]= projects[i].getProject();
- }
- return result;
- }
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
- IJavaScriptProject[] projects= fJavaModel.getJavaScriptProjects();
- ResourceTraversal[] result= new ResourceTraversal[projects.length];
- for (int i= 0; i < projects.length; i++) {
- result[i]= new ResourceTraversal(new IResource[] {projects[i].getProject()}, IResource.DEPTH_INFINITE, 0);
- }
- return result;
- }
- }
-
- private static final class JavaProjectResourceMapping extends JavaElementResourceMapping {
- private final IJavaScriptProject fProject;
- private JavaProjectResourceMapping(IJavaScriptProject project) {
- Assert.isNotNull(project);
- fProject= project;
- }
- public Object getModelObject() {
- return fProject;
- }
- public IProject[] getProjects() {
- return new IProject[] {fProject.getProject() };
- }
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
- return new ResourceTraversal[] {
- new ResourceTraversal(new IResource[] {fProject.getProject()}, IResource.DEPTH_INFINITE, 0)
- };
- }
- }
-
- private static final class PackageFragementRootResourceMapping extends JavaElementResourceMapping {
- private final IPackageFragmentRoot fRoot;
- private PackageFragementRootResourceMapping(IPackageFragmentRoot root) {
- Assert.isNotNull(root);
- fRoot= root;
- }
- public Object getModelObject() {
- return fRoot;
- }
- public IProject[] getProjects() {
- return new IProject[] {fRoot.getJavaScriptProject().getProject() };
- }
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
- return new ResourceTraversal[] {
- new ResourceTraversal(new IResource[] {fRoot.getResource()}, IResource.DEPTH_INFINITE, 0)
- };
- }
- }
-
- private static final class LocalPackageFragementTraversal extends ResourceTraversal {
- private final IPackageFragment fPack;
- public LocalPackageFragementTraversal(IPackageFragment pack) throws CoreException {
- super(new IResource[] {pack.getResource()}, IResource.DEPTH_ONE, 0);
- fPack= pack;
- }
- public void accept(IResourceVisitor visitor) throws CoreException {
- IFile[] files= getPackageContent(fPack);
- final IResource resource= fPack.getResource();
- if (resource != null)
- visitor.visit(resource);
- for (int i= 0; i < files.length; i++) {
- visitor.visit(files[i]);
- }
- }
- }
-
- private static final class PackageFragmentResourceMapping extends JavaElementResourceMapping {
- private final IPackageFragment fPack;
- private PackageFragmentResourceMapping(IPackageFragment pack) {
- Assert.isNotNull(pack);
- fPack= pack;
- }
- public Object getModelObject() {
- return fPack;
- }
- public IProject[] getProjects() {
- return new IProject[] { fPack.getJavaScriptProject().getProject() };
- }
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
- if (context instanceof RemoteResourceMappingContext) {
- return new ResourceTraversal[] {
- new ResourceTraversal(new IResource[] {fPack.getResource()}, IResource.DEPTH_ONE, 0)
- };
- } else {
- return new ResourceTraversal[] { new LocalPackageFragementTraversal(fPack) };
- }
- }
- public void accept(ResourceMappingContext context, IResourceVisitor visitor, IProgressMonitor monitor) throws CoreException {
- if (context instanceof RemoteResourceMappingContext) {
- super.accept(context, visitor, monitor);
- } else {
- // We assume a local context.
- IFile[] files= getPackageContent(fPack);
- if (monitor == null)
- monitor= new NullProgressMonitor();
- monitor.beginTask("", files.length + 1); //$NON-NLS-1$
- final IResource resource= fPack.getResource();
- if (resource != null)
- visitor.visit(resource);
- monitor.worked(1);
- for (int i= 0; i < files.length; i++) {
- visitor.visit(files[i]);
- monitor.worked(1);
- }
- }
- }
- }
-
- private static IFile[] getPackageContent(IPackageFragment pack) throws CoreException {
- List result= new ArrayList();
- IContainer container= (IContainer)pack.getResource();
- if (container != null) {
- IResource[] members= container.members();
- for (int m= 0; m < members.length; m++) {
- IResource member= members[m];
- if (member instanceof IFile) {
- IFile file= (IFile)member;
- if ("class".equals(file.getFileExtension()) && file.isDerived()) //$NON-NLS-1$
- continue;
- result.add(member);
- }
- }
- }
- return (IFile[])result.toArray(new IFile[result.size()]);
- }
-
-
- private static final class CompilationUnitResourceMapping extends JavaElementResourceMapping {
- private final IJavaScriptUnit fUnit;
- private CompilationUnitResourceMapping(IJavaScriptUnit unit) {
- Assert.isNotNull(unit);
- fUnit= unit;
- }
- public Object getModelObject() {
- return fUnit;
- }
- public IProject[] getProjects() {
- return new IProject[] {fUnit.getJavaScriptProject().getProject() };
- }
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
- return new ResourceTraversal[] {
- new ResourceTraversal(new IResource[] {fUnit.getResource()}, IResource.DEPTH_ONE, 0)
- };
- }
- }
-
- private static final class ClassFileResourceMapping extends JavaElementResourceMapping {
- private final IClassFile fClassFile;
- private ClassFileResourceMapping(IClassFile classFile) {
- fClassFile= classFile;
- }
- public Object getModelObject() {
- return fClassFile;
- }
- public IProject[] getProjects() {
- return new IProject[] { fClassFile.getJavaScriptProject().getProject() };
- }
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
- return new ResourceTraversal[] {
- new ResourceTraversal(new IResource[] {fClassFile.getResource()}, IResource.DEPTH_ONE, 0)
- };
- }
- }
-
- private static final class LogicalPackageResourceMapping extends ResourceMapping {
- private final IPackageFragment[] fFragments;
- private LogicalPackageResourceMapping(IPackageFragment[] fragments) {
- fFragments= fragments;
- }
- public Object getModelObject() {
- return fFragments;
- }
- public IProject[] getProjects() {
- Set result= new HashSet();
- for (int i= 0; i < fFragments.length; i++) {
- result.add(fFragments[i].getJavaScriptProject().getProject());
- }
- return (IProject[])result.toArray(new IProject[result.size()]);
- }
- public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
- List result= new ArrayList();
- if (context instanceof RemoteResourceMappingContext) {
- for (int i= 0; i < fFragments.length; i++) {
- result.add(new ResourceTraversal(
- new IResource[] {fFragments[i].getResource()}, IResource.DEPTH_ONE, 0));
- }
- } else {
- for (int i= 0; i < fFragments.length; i++) {
- result.add(new LocalPackageFragementTraversal(fFragments[i]));
- }
- }
- return (ResourceTraversal[])result.toArray(new ResourceTraversal[result.size()]);
- }
-
- public String getModelProviderId() {
- return JavaModelProvider.JAVA_MODEL_PROVIDER_ID;
- }
- }
-
- public static ResourceMapping create(IJavaScriptElement element) {
- switch (element.getElementType()) {
- case IJavaScriptElement.TYPE:
- return create((IType)element);
- case IJavaScriptElement.JAVASCRIPT_UNIT:
- return create((IJavaScriptUnit)element);
- case IJavaScriptElement.CLASS_FILE:
- return create((IClassFile)element);
- case IJavaScriptElement.PACKAGE_FRAGMENT:
- return create((IPackageFragment)element);
- case IJavaScriptElement.PACKAGE_FRAGMENT_ROOT:
- return create((IPackageFragmentRoot)element);
- case IJavaScriptElement.JAVASCRIPT_PROJECT:
- return create((IJavaScriptProject)element);
- case IJavaScriptElement.JAVASCRIPT_MODEL:
- return create((IJavaScriptModel)element);
- default:
- return null;
- }
-
- }
-
- public static ResourceMapping create(final IJavaScriptModel model) {
- return new JavaModelResourceMapping(model);
- }
-
- public static ResourceMapping create(final IJavaScriptProject project) {
- return new JavaProjectResourceMapping(project);
- }
-
- public static ResourceMapping create(final IPackageFragmentRoot root) {
- if (root.isExternal())
- return null;
- return new PackageFragementRootResourceMapping(root);
- }
-
- public static ResourceMapping create(final IPackageFragment pack) {
- // test if in an archive
- IPackageFragmentRoot root= (IPackageFragmentRoot)pack.getAncestor(IJavaScriptElement.PACKAGE_FRAGMENT_ROOT);
- if (!root.isArchive()) {
- return new PackageFragmentResourceMapping(pack);
- }
- return null;
- }
-
- public static ResourceMapping create(IJavaScriptUnit unit) {
- if (unit == null)
- return null;
- return new CompilationUnitResourceMapping(unit.getPrimary());
- }
-
- public static ResourceMapping create(IClassFile classFile) {
- // test if in a archive
- IPackageFragmentRoot root= (IPackageFragmentRoot)classFile.getAncestor(IJavaScriptElement.PACKAGE_FRAGMENT_ROOT);
- if (!root.isArchive()) {
- return new ClassFileResourceMapping(classFile);
- }
- return null;
- }
-
- public static ResourceMapping create(IType type) {
- // top level types behave like the CU
- IJavaScriptElement parent= type.getParent();
- if (parent instanceof IJavaScriptUnit) {
- return create((IJavaScriptUnit)parent);
- }
- return null;
- }
-
- public static ResourceMapping create(LogicalPackage logicalPackage) {
- IPackageFragment[] fragments= logicalPackage.getFragments();
- List toProcess= new ArrayList(fragments.length);
- for (int i= 0; i < fragments.length; i++) {
- // only add if not part of an archive
- IPackageFragmentRoot root= (IPackageFragmentRoot)fragments[i].getAncestor(IJavaScriptElement.PACKAGE_FRAGMENT_ROOT);
- if (!root.isArchive()) {
- toProcess.add(fragments[i]);
- }
- }
- if (toProcess.size() == 0)
- return null;
- return new LogicalPackageResourceMapping((IPackageFragment[])toProcess.toArray(new IPackageFragment[toProcess.size()]));
- }
-}

Back to the top