+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package net.sourceforge.phpdt.internal.ui;
-
-import net.sourceforge.phpdt.core.ICompilationUnit;
-import net.sourceforge.phpdt.core.IJavaElement;
-import net.sourceforge.phpdt.core.IPackageFragmentRoot;
-import net.sourceforge.phpdt.internal.corext.util.JavaModelUtil;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IContributorResourceAdapter;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.views.properties.FilePropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.ResourcePropertySource;
-
-/**
- * Implements basic UI support for Java elements. Implements handle to
- * persistent support for Java elements.
- */
-public class JavaElementAdapterFactory implements IAdapterFactory,
- IContributorResourceAdapter {
-
- private static Class[] PROPERTIES = new Class[] {
- IPropertySource.class,
- IResource.class,
- // IWorkbenchAdapter.class,
- // IResourceLocator.class,
- IPersistableElement.class, IProject.class,
- IContributorResourceAdapter.class,
- // ITaskListResourceAdapter.class,
- // IContainmentAdapter.class
- };
-
- // private Object fSearchPageScoreComputer;
- // private static IResourceLocator fgResourceLocator= new ResourceLocator();
- // private static JavaWorkbenchAdapter fgJavaWorkbenchAdapter= new
- // JavaWorkbenchAdapter();
- // private static ITaskListResourceAdapter fgTaskListAdapter= new
- // JavaTaskListAdapter();
- // private static JavaElementContainmentAdapter
- // fgJavaElementContainmentAdapter= new JavaElementContainmentAdapter();
-
- public Class[] getAdapterList() {
- // updateLazyLoadedAdapters();
- return PROPERTIES;
- }
-
- public Object getAdapter(Object element, Class key) {
- // updateLazyLoadedAdapters();
- IJavaElement java = (IJavaElement) element;
-
- if (IPropertySource.class.equals(key)) {
- return getProperties(java);
- }
- if (IResource.class.equals(key)) {
- return getResource(java);
- }
- if (IProject.class.equals(key)) {
- return getProject(java);
- // } if (fSearchPageScoreComputer != null &&
- // ISearchPageScoreComputer.class.equals(key)) {
- // return fSearchPageScoreComputer;
- // } if (IWorkbenchAdapter.class.equals(key)) {
- // return fgJavaWorkbenchAdapter;
- // } if (IResourceLocator.class.equals(key)) {
- // return fgResourceLocator;
- // } if (IPersistableElement.class.equals(key)) {
- // return new PersistableJavaElementFactory(java);
- }
- if (IContributorResourceAdapter.class.equals(key)) {
- return this;
- // } if (ITaskListResourceAdapter.class.equals(key)) {
- // return fgTaskListAdapter;
- // } if (IContainmentAdapter.class.equals(key)) {
- // return fgJavaElementContainmentAdapter;
- }
- return null;
- }
-
- private IResource getResource(IJavaElement element) {
- // can't use IJavaElement.getResource directly as we are interrested in
- // the
- // corresponding resource
- switch (element.getElementType()) {
- case IJavaElement.TYPE:
- // top level types behave like the CU
- IJavaElement parent = element.getParent();
- if (parent instanceof ICompilationUnit) {
- return JavaModelUtil.toOriginal((ICompilationUnit) parent)
- .getResource();
- }
- return null;
- case IJavaElement.COMPILATION_UNIT:
- return JavaModelUtil.toOriginal((ICompilationUnit) element)
- .getResource();
- case IJavaElement.CLASS_FILE:
- case IJavaElement.PACKAGE_FRAGMENT:
- // test if in a archive
- IPackageFragmentRoot root = (IPackageFragmentRoot) element
- .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
- if (!root.isArchive()) {
- return element.getResource();
- }
- return null;
- case IJavaElement.PACKAGE_FRAGMENT_ROOT:
- case IJavaElement.JAVA_PROJECT:
- case IJavaElement.JAVA_MODEL:
- return element.getResource();
- default:
- return null;
- }
- }
-
- /*
- * @see org.eclipse.ui.IContributorResourceAdapter#getAdaptedResource(org.eclipse.core.runtime.IAdaptable)
- */
- public IResource getAdaptedResource(IAdaptable adaptable) {
- return getResource((IJavaElement) adaptable);
- }
-
- private IResource getProject(IJavaElement element) {
- return element.getJavaProject().getProject();
- }
-
- private IPropertySource getProperties(IJavaElement element) {
- IResource resource = getResource(element);
- if (resource == null)
- return new JavaElementProperties(element);
- if (resource.getType() == IResource.FILE)
- return new FilePropertySource((IFile) resource);
- return new ResourcePropertySource(resource);
- }
-
- // private void updateLazyLoadedAdapters() {
- // if (fSearchPageScoreComputer == null &&
- // SearchUtil.isSearchPlugInActivated())
- // createSearchPageScoreComputer();
- // }
-
- // private void createSearchPageScoreComputer() {
- // fSearchPageScoreComputer= new JavaSearchPageScoreComputer();
- // PROPERTIES= new Class[] {
- // IPropertySource.class,
- // IResource.class,
- // ISearchPageScoreComputer.class,
- // IWorkbenchAdapter.class,
- // IResourceLocator.class,
- // IPersistableElement.class,
- // IProject.class,
- // IContributorResourceAdapter.class,
- // ITaskListResourceAdapter.class,
- // IContainmentAdapter.class
- // };
- // }
-}