package com.tibco.as.spacebar.ui.adapter;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.ui.model.IWorkbenchAdapter;
import org.eclipse.ui.model.IWorkbenchAdapter2;
import org.eclipse.ui.model.IWorkbenchAdapter3;
/**
* Dispenses adapters for various core objects. Returns IWorkbenchAdapter
* adapters, used for displaying, navigating, and populating menus for core
* objects.
*/
public class ElementAdapterFactory implements IAdapterFactory {
private Object elementAdapter = new ElementAdapter();
@SuppressWarnings("rawtypes")
@Override
public Object getAdapter(Object o, Class adapterType) {
if (adapterType.isInstance(o)) {
return o;
}
if (adapterType == IWorkbenchAdapter.class
|| adapterType == IWorkbenchAdapter2.class
|| adapterType == IWorkbenchAdapter3.class) {
return elementAdapter;
}
return null;
}
@Override
public Class<?>[] getAdapterList() {
return new Class[] { IWorkbenchAdapter.class, IWorkbenchAdapter2.class,
IWorkbenchAdapter3.class };
}
}