Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/javalite/JavaCoreLite.java')
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/javalite/JavaCoreLite.java211
1 files changed, 0 insertions, 211 deletions
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/javalite/JavaCoreLite.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/javalite/JavaCoreLite.java
deleted file mode 100644
index b79aa6bc3..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/javalite/JavaCoreLite.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.jst.common.jdt.internal.javalite;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IAccessRule;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-
-public final class JavaCoreLite {
-
- public static String NATURE_ID = JavaCore.NATURE_ID;
-
- private static Object lock = new Object();
-
- private static JavaCoreLite INSTANCE = null;
-
- private class JavaCoreLiteListener implements IElementChangedListener, IResourceChangeListener {
- public void elementChanged(ElementChangedEvent event) {
- IJavaElementDelta delta = event.getDelta();
- IJavaElementDelta[] children = delta.getAffectedChildren();
- for (int i = 0; i < children.length; i++) {
- processDelta(children[i]);
- }
- }
-
- private void processDelta(IJavaElementDelta delta) {
- int flags = delta.getFlags();
- if ((flags & IJavaElementDelta.F_CLOSED) != 0) {
- IJavaElement element = delta.getElement();
- IJavaProject javaProject = (IJavaProject) element;
- IProject project = javaProject.getProject();
- synchronized (lock) {
- initializedJavaProjects.remove(project);
- javaProjectLiteCache.remove(project);
- }
- } else if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
- IJavaElement element = delta.getElement();
- if (element.getElementType() == IJavaElement.JAVA_PROJECT) {
- IJavaProject javaProject = (IJavaProject) element;
- IProject project = javaProject.getProject();
- synchronized (lock) {
- if (!initializedJavaProjects.contains(project) && javaProjectLiteCache.containsKey(project)) {
- JavaProjectLite javaProjectLite = javaProjectLiteCache.get(project);
- javaProjectLite.flushClasspath();
- }
- }
- }
- } else if ((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) {
- IJavaElement element = delta.getElement();
- if (element.getElementType() == IJavaElement.JAVA_PROJECT) {
- IJavaProject javaProject = (IJavaProject) element;
- IProject project = javaProject.getProject();
- synchronized (lock) {
- if (!initializedJavaProjects.contains(project)) {
- initializedJavaProjects.add(project);
- if (javaProjectLiteCache.containsKey(project)) {
- JavaProjectLite javaProjectLite = javaProjectLiteCache.get(project);
- javaProjectLite.markJavaProjectInitialized();
- }
- }
- }
- }
- }
- }
-
- public void resourceChanged(IResourceChangeEvent event) {
- switch (event.getType()) {
- case IResourceChangeEvent.PRE_CLOSE:
- case IResourceChangeEvent.PRE_DELETE:
- IResource resource = event.getResource();
- if (resource.getType() == IResource.PROJECT) {
- IProject project = (IProject) resource;
- synchronized (lock) {
- initializedJavaProjects.remove(project);
- javaProjectLiteCache.remove(project);
- }
- }
- }
- }
- }
-
- private Set<IProject> initializedJavaProjects = new HashSet<IProject>();
- private Map<IProject, JavaProjectLite> javaProjectLiteCache = new HashMap<IProject, JavaProjectLite>();
- private JavaCoreLiteListener listener = null;
-
- private static JavaCoreLite getInstance() {
- synchronized (lock) {
- if (INSTANCE == null) {
- INSTANCE = new JavaCoreLite();
- }
- }
- return INSTANCE;
- }
-
- private JavaCoreLite() {
- listener = new JavaCoreLiteListener();
- JavaCore.addElementChangedListener(listener);
- ResourcesPlugin.getWorkspace().addResourceChangeListener(listener, IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
- }
-
- private IJavaProjectLite createImpl(IProject project) {
- synchronized (lock) {
- if (javaProjectLiteCache.containsKey(project)) {
- return javaProjectLiteCache.get(project);
- }
- }
-
- IJavaProject javaProject = JavaCore.create(project);
- if (javaProject != null) {
- boolean javaProjectInitialized = false;
- synchronized (lock) {
- javaProjectInitialized = initializedJavaProjects.contains(project);
- }
- if (!javaProjectInitialized) {
- if (isInitialized(javaProject)) {
- synchronized (lock) {
- initializedJavaProjects.add(project);
- }
- javaProjectInitialized = true;
- }
- }
- JavaProjectLite javaProjectLite = new JavaProjectLite(javaProject, javaProjectInitialized);
- synchronized (lock) {
- javaProjectLiteCache.put(project, javaProjectLite);
- }
- return javaProjectLite;
- }
- return null;
- }
-
- static boolean isInitialized(IJavaProject javaProject) {
- if (javaProject.isOpen()) {
- JavaModelManager.PerProjectInfo projectInfo = JavaModelManager.getJavaModelManager().getPerProjectInfo(javaProject.getProject(), false);
- if (projectInfo != null) {
- if (projectInfo.getResolvedClasspath() != null) {
- return true;
- }
- }
- }
- return false;
- }
-
- public static final IJavaProjectLite create(IProject project) {
- if (project == null) {
- throw new NullPointerException();
- }
- return getInstance().createImpl(project);
- }
-
- public static final IJavaProjectLite create(IJavaProject javaProject) {
- if (javaProject == null) {
- throw new NullPointerException();
- }
- return create(javaProject.getProject());
- }
-
- public static ClasspathContainerInitializer getClasspathContainerInitializer(String containerID) {
- return JavaCore.getClasspathContainerInitializer(containerID);
- }
-
- public static IClasspathEntry newProjectEntry(IPath path) {
- return JavaCore.newProjectEntry(path);
- }
-
- public static IClasspathEntry newProjectEntry(IPath path, boolean isExported) {
- return JavaCore.newProjectEntry(path, isExported);
- }
-
- public static IClasspathEntry newProjectEntry(IPath path, IAccessRule[] accessRules, boolean combineAccessRules, IClasspathAttribute[] extraAttributes, boolean isExported) {
- return JavaCore.newProjectEntry(path, accessRules, combineAccessRules, extraAttributes, isExported);
- }
-
- public static IClasspathEntry newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath) {
- return JavaCore.newLibraryEntry(path, sourceAttachmentPath, sourceAttachmentRootPath);
- }
-
- public static IClasspathEntry newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath, boolean isExported) {
- return JavaCore.newLibraryEntry(path, sourceAttachmentPath, sourceAttachmentRootPath, isExported);
- }
-
- public static IClasspathEntry newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath, IAccessRule[] accessRules, IClasspathAttribute[] extraAttributes, boolean isExported) {
- return JavaCore.newLibraryEntry(path, sourceAttachmentPath, sourceAttachmentRootPath, accessRules, extraAttributes, isExported);
- }
-}

Back to the top