Defining a status handler
There are two ways for contributing handlers to the Workbench:
- using the org.eclipse.ui.statusHandlers extension
point, see
User assistance and status handling
- using a custom workbench advisor and overriding its getWorkbenchErrorHandler() method
Contributing a status handler using the custom advisor
First, a custom workbench advisor for your application has
to be created. In this new custom advisor override getWorkbenchErrorHandler().
This will now return the default error handler.
public class CustomWorkbenchAdvisor extends WorkbenchAdvisor {
public AbstractStatusHandler getWorkbenchErrorHandler() {
...
return customStatusHandler;
}
}
In the custom application use your new advisor when creating the
Workbench
.
public class CustomApplication implements IApplication{
public Object start(IApplicationContext appContext) throws Exception {
...
Display display = createDisplay();
PlatformUI.createAndRunWorkbench(display, new CustomWorkbenchAdvisor());
...
}
protected Display createDisplay() {
return PlatformUI.createDisplay();
}
}
For details how to run a custom application see the
org.eclipse.core.runtime.applications
extension point documentation.
When the status handling facility is accessed, the facility will
get instance of the handler that is provided by the custom advisor. This handler will be
used for handling of status or error occurred in the application.