package com.hundsun.ares.studio.internal; import org.eclipse.core.runtime.IAdapterFactory; import org.eclipse.ui.IActionFilter; import com.hundsun.ares.studio.core.IARESElement; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.internal.core.ReferencedLibrary; import com.hundsun.ares.studio.ui.ARESElementActionFilter; import com.hundsun.ares.studio.ui.AresResourceActionFilter; import com.hundsun.ares.studio.ui.ReferenceLibActionFilter; public class ActionFilterAdapterFactory implements IAdapterFactory { public Object getAdapter(Object adaptableObject, Class adapterType) { if (adaptableObject instanceof IARESElement && adapterType.equals(IActionFilter.class)) { if (adaptableObject instanceof IARESResource) { return AresResourceActionFilter.getInstance(); } else if (adaptableObject instanceof ReferencedLibrary) {// 2012-3-1 sundl ���ð����Լ�����չ���ԣ������ض����ദ�� return ReferenceLibActionFilter.getInstance(); } IARESElement element = (IARESElement) adaptableObject; return ARESElementActionFilter.getInstance(); } return null; } public Class[] getAdapterList() { return new Class[] {IActionFilter.class}; } }