package com.redhat.ceylon.eclipse.core.adapters; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IAdapterFactory; import org.eclipse.jdt.core.IJavaElement; import com.redhat.ceylon.ide.common.model.IJavaModelAware; import com.redhat.ceylon.ide.common.model.IResourceAware; import com.redhat.ceylon.ide.common.model.IUnit; public class CeylonModelAdapterFactory implements IAdapterFactory { private static Class<?>[] ADAPTER_LIST= new Class[] { IFile.class, IJavaElement.class, }; public Class<?>[] getAdapterList() { return ADAPTER_LIST; } public Object getAdapter(Object element, @SuppressWarnings("rawtypes") Class key) { IUnit unit = (IUnit) element; if (IFile.class.equals(key) && unit instanceof IResourceAware) { IResourceAware ra = (IResourceAware) unit; return ra.getResourceFile(); } if (IJavaElement.class.equals(key) && unit instanceof IJavaModelAware) { IJavaModelAware ja = (IJavaModelAware) unit; return ja.getTypeRoot(); } return null; } }