package com.redhat.ceylon.eclipse.code.navigator; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.IAdapterFactory; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IPackageFragment; import org.eclipse.jdt.core.JavaModelException; public class CeylonNavigatorAdapterFactory implements IAdapterFactory { private static Class<?>[] ADAPTER_LIST= new Class[] { IFolder.class, IPackageFragment.class, IResource.class, IJavaElement.class, }; public Class<?>[] getAdapterList() { return ADAPTER_LIST; } public Object getAdapter(Object element, @SuppressWarnings("rawtypes") Class key) { SourceModuleNode sourceModule = (SourceModuleNode) element; IPackageFragment packageFragment = sourceModule.getMainPackageFragment(); if (IJavaElement.class.equals(key) || IPackageFragment.class.equals(key)) { return packageFragment; } if (IFolder.class.equals(key) || IResource.class.equals(key)) { if (packageFragment != null) { try { return packageFragment.getCorrespondingResource(); } catch (JavaModelException e) { } } } return null; } }