X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/resourcesview/ResourceAdapterFactory.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/resourcesview/ResourceAdapterFactory.java new file mode 100644 index 0000000..1cc64d2 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/resourcesview/ResourceAdapterFactory.java @@ -0,0 +1,42 @@ +package net.sourceforge.phpeclipse.resourcesview; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.IAdapterFactory; + +import net.sourceforge.phpeclipse.PHPCore; +import net.sourceforge.phpeclipse.resourcesview.PHPElement; +import net.sourceforge.phpeclipse.resourcesview.PHPFile; +import net.sourceforge.phpeclipse.resourcesview.PHPProject; + +public class ResourceAdapterFactory implements IAdapterFactory { + + protected static Class[] ADAPTERS_I_CREATE = new Class[] { PHPElement.class, PHPFile.class, PHPProject.class }; + + public ResourceAdapterFactory() { + super(); + } + + public Object getAdapter(Object adaptableObject, Class adapterType) { + if (PHPFile.class.equals(adapterType)) + return PHPCore.create((IFile) adaptableObject); + + if (PHPProject.class.equals(adapterType)) + return PHPCore.create((IProject) adaptableObject); + + if (PHPElement.class.equals(adapterType)) { + if (adaptableObject instanceof IFile) + return PHPCore.create((IFile) adaptableObject); + + if (adaptableObject instanceof IProject) + return PHPCore.create((IProject) adaptableObject); + } + + return null; + } + + public Class[] getAdapterList() { + return ADAPTERS_I_CREATE; + } + +}