Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java')
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java275
1 files changed, 0 insertions, 275 deletions
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java
deleted file mode 100644
index 11cf2b149..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 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.jem.internal.adapters.jdom;
-/*
- * $RCSfile: JavaModelListener.java,v $
- * $Revision: 1.8 $ $Date: 2005/08/24 21:13:53 $
- */
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.*;
-
-/**
- * Insert the type's description here.
- * Creation date: (10/31/2000 1:13:12 PM)
- * @author: Administrator
- */
-public abstract class JavaModelListener implements IElementChangedListener {
-
-/**
- * JavaModelListener constructor comment.
- */
-public JavaModelListener() {
- this(ElementChangedEvent.POST_CHANGE);
-}
-
-public JavaModelListener(int eventsToListen) {
- JavaCore.addElementChangedListener(this, eventsToListen);
-}
-/**
- * One or more attributes of one or more elements maintained by
- * the Java model have changed. The specific details of the change
- * are described by the given <code>ElementChangedEvent</code>.
- *
- * @see ElementChangedEvent
- */
-public void elementChanged(ElementChangedEvent event) {
- processDelta((IJavaElementDelta) event.getSource());
-}
-/**
- * Generically dispatch the children of the delta.
- *
- */
-protected void processChildren(IJavaElement element, IJavaElementDelta delta) {
- IJavaElementDelta[] children = delta.getAffectedChildren();
- for (int i = 0; i < children.length; i++) {
- processDelta(children[i]);
- }
-}
-/**
- * Source context has been changed.
- * Creation date: (8/17/2001 3:58:31 PM)
- * @param param org.eclipse.jdt.core.IJavaElementDelta
- */
-protected void processContentChanged(IJavaElementDelta delta) {
- // override to implement specific behavior
-}
-/**
- * Dispatch the detailed handling of an element changed event.
- *
- * @see ElementChangedEvent
- */
-public void processDelta(IJavaElementDelta delta) {
- IJavaElement element = delta.getElement();
-
- switch (element.getElementType()) {
- case IJavaElement.JAVA_MODEL :
- processJavaElementChanged((IJavaModel) element, delta);
- break;
- case IJavaElement.JAVA_PROJECT :
- processJavaElementChanged((IJavaProject) element, delta);
- break;
- case IJavaElement.PACKAGE_FRAGMENT_ROOT :
- processJavaElementChanged((IPackageFragmentRoot) element, delta);
- break;
- case IJavaElement.PACKAGE_FRAGMENT :
- processJavaElementChanged((IPackageFragment) element, delta);
- break;
- case IJavaElement.COMPILATION_UNIT :
- processJavaElementChanged((ICompilationUnit) element, delta);
- processContentChanged(delta) ;
- break;
- case IJavaElement.CLASS_FILE :
- processJavaElementChanged((IClassFile) element, delta);
- break;
- case IJavaElement.TYPE :
- processJavaElementChanged((IType) element, delta);
- break;
- // Note: if we are to update the Method/Field adapters, we should process the
- // IJavaElement.METHOD and IJavaElement.FIELD
- }
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IClassFile element, IJavaElementDelta delta) {
- // override to implement specific behavior
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(ICompilationUnit element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IJavaModel element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IJavaProject element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IPackageFragment element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IPackageFragmentRoot element, IJavaElementDelta delta) {
- processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IType element, IJavaElementDelta delta) {
- // override to implement specific behavior
-}
-
-protected boolean isClassPathChange(IJavaElementDelta delta) {
- int flags = delta.getFlags();
- return (delta.getKind() == IJavaElementDelta.CHANGED && ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0) || ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) || ((flags & IJavaElementDelta.F_REORDER) != 0));
-}
-
-/**
- * Method isClasspathResourceChange.
- * @param delta
- * @return boolean
- */
-protected boolean isClasspathResourceChange(IJavaElementDelta delta) {
- if ((delta.getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0)
- return true;
- IResourceDelta[] resources = delta.getResourceDeltas();
- if (resources == null)
- return false;
- IPath path = null;
- for (int i = 0; i < resources.length; i++) {
- if (resources[i].getKind() == IResourceDelta.CHANGED) {
- path = resources[i].getProjectRelativePath();
- if (isAlsoClasspathChange(path))
- return true;
- }
- }
- return false;
-}
-
-/**
- * Is this path also a classpath change type of resource. If so, return true.
- * Subclasses may override. Default is false.
- * @param path
- * @return
- *
- * @since 1.0.0
- */
-protected boolean isAlsoClasspathChange(IPath path) {
- return false;
-}
-
-/**
- * This method will check to see if a <code>javaProject</code> is a project in the
- * classpath of the adapterFactory java project.
- */
-protected boolean isInClasspath(IJavaProject javaProject) {
- IJavaProject adapterJavaProject = getJavaProject();
- if (javaProject.equals(adapterJavaProject))
- return true;
- return isInClasspath(javaProject, adapterJavaProject, true, new HashSet());
-}
-
-/**
- * Get the java project that we are interested in.
- * @return
- *
- * @since 1.0.0
- */
-protected abstract IJavaProject getJavaProject();
-
-/*
- * test to see if the testProject is in the classpath (including from any referenced projects) of the target project.
- * Keep track of those already visited so as not to visit again.
- * TODO This should be made private.
- */
-protected boolean isInClasspath(IJavaProject testProject, IJavaProject targetProject, boolean isFirstLevel, Set visited) {
- if (visited.contains(targetProject))
- return false;
- visited.add(targetProject);
- IClasspathEntry[] entries = null;
- try {
- entries = targetProject.getRawClasspath();
- } catch (JavaModelException e) {
- return false;
- }
- IClasspathEntry entry, resEntry;
- IJavaProject proj = null;
- List projects = null;
- for (int i = 0; i < entries.length; i++) {
- entry = entries[i];
- if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
- resEntry = JavaCore.getResolvedClasspathEntry(entry);
- proj = getJavaProject(entry);
- if (isFirstLevel || resEntry.isExported()) {
- if (proj.equals(testProject))
- return true;
- else {
- if (projects == null)
- projects = new ArrayList();
- projects.add(proj);
- }
- }
- }
- }
- return isInClasspath(testProject, projects, false, visited);
-}
-
-/*
- * See if the testProject is in the classpath of any of the list of projects or in any project that an entry
- * in the list may of visited.
- * TODO This should be made private.
- */
-protected boolean isInClasspath(IJavaProject testProject, List someJavaProjects, boolean isFirstLevel, Set visited) {
- if (someJavaProjects == null)
- return false;
- int size = someJavaProjects.size();
- IJavaProject javaProj = null;
- for (int i = 0; i < size; i++) {
- javaProj = (IJavaProject) someJavaProjects.get(i);
- return isInClasspath(testProject, javaProj, isFirstLevel, visited);
- }
- return false;
-}
-
-protected IJavaProject getJavaProject(IClasspathEntry entry) {
- IProject proj = getWorkspaceRoot().getProject(entry.getPath().segment(0));
- if (proj != null)
- return JavaCore.create(proj);
- return null;
-}
-
-protected IWorkspaceRoot getWorkspaceRoot() {
- return ResourcesPlugin.getWorkspace().getRoot();
-}
-}

Back to the top