Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java')
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java238
1 files changed, 0 insertions, 238 deletions
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java
deleted file mode 100644
index 93574db5f..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java
+++ /dev/null
@@ -1,238 +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;
-/*
-
-
- */
-import java.util.*;
-
-import org.eclipse.emf.common.notify.*;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.internal.java.adapters.*;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/13/2000 1:20:31 PM)
- * @author: Administrator
- */
-public class JavaJDOMAdapterFactory extends JavaReflectionAdapterFactory {
-
- protected JavaReflectionSynchronizer synchronizer;
- protected IJavaProject javaProject;
-/**
- * JavaJDOMAdapterFactory constructor comment.
- */
-public JavaJDOMAdapterFactory() {
- super();
-}
-/**
- * JavaJDOMAdapterFactory constructor comment.
- */
-public JavaJDOMAdapterFactory(IJavaProject aJavaProject) {
- this();
- setJavaProject(aJavaProject);
-}
-protected ReflectionAdaptor createJavaClassAdaptor(Notifier target) {
- return new JavaClassJDOMAdaptor(target, getJavaProject(), this);
-}
-protected ReflectionAdaptor createJavaFieldAdaptor(Notifier target) {
- return new JavaFieldJDOMAdaptor(target, getJavaProject());
-}
-protected ReflectionAdaptor createJavaMethodAdaptor(Notifier target) {
- return new JavaMethodJDOMAdaptor(target, getJavaProject());
-}
-/**
- * Flush ALL adapters, worst case
- * We also want to ensure that the source types are also cleared
- * in this worst case scenario.
- */
-public void flushAll() {
- doFlush(reflected.values(),true, true);
-}
-
-public List flushAllNoNotification() {
- return doFlush(reflected.values(),true, false);
-}
-
-public void flushPackage(String packageName, boolean noFlushIfSourceFound) {
- List adaptors = getReflectedForPackage(packageName, noFlushIfSourceFound);
- doFlush(adaptors, true, true);
-}
-public List flushPackageNoNotification(String packageName, boolean noFlushIfSourceFound) {
- List adaptors = getReflectedForPackage(packageName, noFlushIfSourceFound);
- return doFlush(adaptors, true, false);
-}
-/**
- * Return a List of reflection adaptors that belong to
- * the packageName.
- * @param packageName
- * @return
- */
-private List getReflectedForPackage(String packageName, boolean filterFoundTypes) {
- if (packageName != null && !reflected.isEmpty()) {
- isBusyIteratingReflected = true;
- List result = null;
- try {
- Iterator it = reflected.entrySet().iterator();
- Map.Entry entry;
- String key;
- JavaClassJDOMAdaptor adaptor;
- while (it.hasNext()) {
- entry = (Map.Entry) it.next();
- adaptor = (JavaClassJDOMAdaptor) entry.getValue();
- /*
- * Ensure that the the adaptor is only filtered out if it has
- * actually reflected the content. It is not good enough just
- * to test for the sourceType.
- */
- if (filterFoundTypes && adaptor.hasValidReflection())
- continue;
- key = (String) entry.getKey();
- if (key.startsWith(packageName) && key.indexOf('.', packageName.length() + 1) < 0) {
- if (result == null)
- result = new ArrayList();
- result.add(entry.getValue());
- }
- }
- } finally {
- finishedIteratingReflected();
- }
- if (result != null)
- return result;
- }
- return Collections.EMPTY_LIST;
-}
-private List doFlush(Collection adaptors, boolean clearSourceType, boolean doNotify) {
- if (!adaptors.isEmpty()) {
- isBusyIteratingReflected = true;
- List notifications = doNotify ? null : new ArrayList(adaptors.size());
- try {
- Notification notification;
- Iterator i = adaptors.iterator();
- JDOMAdaptor adaptor;
- while (i.hasNext()) {
- adaptor = (JDOMAdaptor) i.next();
- if (doNotify)
- adaptor.flushReflectedValuesIfNecessary(clearSourceType);
- else {
- notification = adaptor.flushReflectedValuesIfNecessaryNoNotification(clearSourceType);
- if (notification != null)
- notifications.add(notification);
- }
- }
- } finally {
- finishedIteratingReflected();
- }
- return notifications;
- }
- return Collections.EMPTY_LIST;
-}
-// Flush the adapter for a source object
-public void flushReflection(String source) {
- JDOMAdaptor a = (JDOMAdaptor) reflected.get(source);
- if (a != null)
- a.flushReflectedValuesIfNecessary();
-}
-public Notification flushReflectionNoNotification(String source) {
- JDOMAdaptor a = (JDOMAdaptor) reflected.get(source);
- if (a != null)
- return a.flushReflectedValuesIfNecessaryNoNotification(false);
- return null;
-}
-
-public Notification flushReflectionPlusInnerNoNotification(String source) {
- isBusyIteratingReflected = true;
- Notification notification = null;
- try {
- String innerName = source + '$';
- Iterator it = reflected.entrySet().iterator();
- Map.Entry entry;
- String key;
- JavaReflectionAdaptor adaptor;
- while (it.hasNext()) {
- entry = (Map.Entry) it.next();
- key = (String) entry.getKey();
- if (key.equals(source) || key.startsWith(innerName)) {
- adaptor = (JavaReflectionAdaptor) reflected.get(key);
- if (adaptor != null) {
- if (notification == null)
- notification = adaptor.flushReflectedValuesIfNecessaryNoNotification(false);
- else
- ((NotificationChain) notification).add(adaptor.flushReflectedValuesIfNecessaryNoNotification(false));
- }
- }
- }
- } finally {
- finishedIteratingReflected();
- }
- return notification;
-
-}
-/**
- * Insert the method's description here.
- * Creation date: (11/2/2000 3:02:31 PM)
- * @return org.eclipse.jdt.core.api.IJavaProject
- */
-public IJavaProject getJavaProject() {
- return javaProject;
-}
-/**
- * Create a Java Model listener which will flush invalidated adaptors.
- * This will cause those adapters to re-reflect their target object's contents.
- */
-protected void initializeSynchronizer() {
- synchronizer = new JavaReflectionSynchronizer(this);
-}
-/**
- * Notify all JDOMAdapters which use the same target ICompilationUnit
- * Creation date: (8/17/2001 4:45:43 PM)
- */
-public void notifyContentChanged(ICompilationUnit targetCU) {
-
- if (targetCU == null || reflected.values()==null) return ;
- isBusyIteratingReflected = true;
- try {
- Iterator i = reflected.values().iterator();
- while (i.hasNext()) {
- Object a = i.next() ;
- if (a instanceof JDOMAdaptor) {
- JDOMAdaptor adaptor = (JDOMAdaptor) a;
- IMember reflectionSource = (IMember) adaptor.getReflectionSource();
- ICompilationUnit adapterCU = null ;
- if (reflectionSource != null) {
- try {
- adapterCU = reflectionSource.getCompilationUnit();
- } catch (Exception e) {}
- }
- if (adapterCU != null && targetCU.equals(adapterCU)) {
- adaptor.contentChanged();
- }
- }
- }
- } finally {
- finishedIteratingReflected();
- }
-}
-/**
- * Insert the method's description here.
- * Creation date: (11/2/2000 3:02:31 PM)
- * @param newJavaProject org.eclipse.jdt.core.IJavaProject
- */
-public void setJavaProject(IJavaProject newJavaProject) {
- javaProject = newJavaProject;
- if (newJavaProject != null && synchronizer == null)
- initializeSynchronizer();
-}
-}

Back to the top