下面列出了怎么用org.eclipse.ui.progress.IDeferredWorkbenchAdapter的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* Method declared on IAdapterFactory.
* Get the given adapter for the given object
*/
public Object getAdapter(Object adaptableObject, Class adapterType) {
if (IWorkbenchAdapter.class == adapterType) {
return getWorkbenchAdapter(adaptableObject);
}
if(IDeferredWorkbenchAdapter.class == adapterType) {
Object o = getWorkbenchAdapter(adaptableObject);
if(o != null && o instanceof IDeferredWorkbenchAdapter) {
return o;
}
return null;
}
if (IPropertySource.class == adapterType) {
return getPropertySource(adaptableObject);
}
if(IHistoryPageSource.class == adapterType) {
return pageHistoryParticipant;
}
return null;
}
public Object getAdapter(Class adapter) {
if (adapter == IWorkbenchAdapter.class)
return this;
if ((adapter == IDeferredWorkbenchAdapter.class) && this instanceof IDeferredWorkbenchAdapter)
return this;
return null;
}
public static <T> T getAdapterFromActualObject(IResource actualObject2, Class<T> adapter) {
if (IDeferredWorkbenchAdapter.class.equals(adapter) || IWorkbenchAdapter2.class.equals(adapter)
|| IWorkbenchAdapter.class.equals(adapter)) {
return null;
}
return actualObject2.getAdapter(adapter);
}
/** (Non-javadoc)
* Method declared on IAdapterFactory.
*/
public Class[] getAdapterList() {
return new Class[] {IWorkbenchAdapter.class, IPropertySource.class, IDeferredWorkbenchAdapter.class, IHistoryPageSource.class};
}