package com.anjlab.eclipse.tapestry5.watchdog; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.dynamichelpers.IExtensionTracker; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IPageListener; import org.eclipse.ui.IPartService; import org.eclipse.ui.IPerspectiveListener; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.WorkbenchException; @SuppressWarnings("rawtypes") public class NullWorkbenchWindow implements IWorkbenchWindow { public static final IWorkbenchWindow INSTANCE = new NullWorkbenchWindow(); private NullWorkbenchWindow() { } @Override public boolean hasService(Class api) { return false; } @Override public <T> T getService(Class<T> api) { return null; } @Override public void removePerspectiveListener(IPerspectiveListener listener) { } @Override public void removePageListener(IPageListener listener) { } @Override public void addPerspectiveListener(IPerspectiveListener listener) { } @Override public void addPageListener(IPageListener listener) { } @Override public void setActivePage(IWorkbenchPage page) { } @Override public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException { } @Override public IWorkbenchPage openPage(String perspectiveId, IAdaptable input) throws WorkbenchException { return null; } @Override public IWorkbenchPage openPage(IAdaptable input) throws WorkbenchException { return null; } @Override public boolean isApplicationMenu(String menuId) { return false; } @Override public IWorkbench getWorkbench() { return null; } @Override public Shell getShell() { return null; } @Override public ISelectionService getSelectionService() { return null; } @Override public IPartService getPartService() { return null; } @Override public IWorkbenchPage[] getPages() { return null; } @Override public IExtensionTracker getExtensionTracker() { return null; } @Override public IWorkbenchPage getActivePage() { return null; } @Override public boolean close() { return false; } }