org.eclipse.ui.statushandlers
Class StatusManager
java.lang.Object
org.eclipse.ui.statushandlers.StatusManager
-
public class StatusManager
- extends
Object
StatusManager is the entry point for all statuses to be reported in the user
interface.
Handlers shoudn't be used directly but through the StatusManager singleton
which keeps the status handling policy and chooses handlers.
StatusManager.getManager().handle(IStatus)
and
handle(IStatus status, int style)
are the methods are the
primary access points to the StatusManager.
Acceptable styles (can be combined with logical OR)
- NONE - a style indicating that the status should not be acted on. This
is used by objects such as log listeners that do not want to report a status
twice
- LOG - a style indicating that the status should be logged only
- SHOW - a style indicating that handlers should show a problem to an user
without blocking the calling method while awaiting user response. This is
generally done using a non modal
Dialog
- BLOCK - a style indicating that the handling should block the calling
method until the user has responded. This is generally done using a modal
window such as a
Dialog
Handlers are intended to be accessed via the status manager. The
StatusManager chooses which handler should be used for a particular error.
There are two ways for adding handlers to the handling flow. First using
extension point org.eclipse.ui.statusHandlers
, second by the
workbench advisor and its method
WorkbenchAdvisor.getWorkbenchErrorHandler()
. If a handler is
associated with a product, it is used instead of this defined in advisor.
-
Since:
- 3.3
-
See Also:
-
AbstractStatusHandler
Field Summary
|
static int
|
BLOCK
A style indicating that the handling should block the calling thread
until the status has been handled. |
static int
|
LOG
A style indicating that the status should be logged only. |
static int
|
NONE
A style indicating that the status should not be acted on. |
static int
|
SHOW
A style indicating that handlers should show a problem to an user without
blocking the calling method while awaiting user response. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
NONE
public static final int NONE
- A style indicating that the status should not be acted on. This is used
by objects such as log listeners that do not want to report a status
twice.
-
See Also:
-
Constant Field Values
LOG
public static final int LOG
- A style indicating that the status should be logged only.
-
See Also:
-
Constant Field Values
SHOW
public static final int SHOW
- A style indicating that handlers should show a problem to an user without
blocking the calling method while awaiting user response. This is
generally done using a non modal
Dialog
.
-
See Also:
-
Constant Field Values
BLOCK
public static final int BLOCK
- A style indicating that the handling should block the calling thread
until the status has been handled.
A typical usage of this would be to ensure that the user's actions are
blocked until they've dealt with the status in some manner. It is
therefore likely but not required that the StatusHandler
would achieve this through the use of a modal dialog.
Due to the fact
that use of BLOCK
will block any thread, care should be
taken in this use of this flag.
-
See Also:
-
Constant Field Values
getManager
public static
StatusManager getManager()
- Returns StatusManager singleton instance.
-
-
Returns:
- the manager instance
handle
public void handle(
StatusAdapter statusAdapter,
int style)
- Handles the given status adapter due to the style. Because the facility
depends on Workbench, this method will log the status, if Workbench isn't
initialized and the style isn't
NONE
. If Workbench isn't
initialized and the style is
NONE
, the manager will do nothing.
-
-
Parameters:
-
statusAdapter
- the status adapter -
style
- the style. Value can be combined with logical OR. One of
NONE
,
LOG
,
SHOW
and
BLOCK
.
handle
public void handle(
StatusAdapter statusAdapter)
- Handles the given status adapter. The
LOG
style is used when
this method is called.
-
-
Parameters:
-
statusAdapter
- the status adapter
handle
public void handle(
IStatus status,
int style)
- Handles the given status due to the style. Because the facility depends
on Workbench, this method will log the status, if Workbench isn't
initialized and the style isn't
NONE
. If Workbench isn't
initialized and the style is
NONE
, the manager will do nothing.
-
-
Parameters:
-
status
- the status to handle -
style
- the style. Value can be combined with logical OR. One of
NONE
,
LOG
,
SHOW
and
BLOCK
.
handle
public void handle(
IStatus status)
- Handles the given status. The
LOG
style is used when this method
is called.
-
-
Parameters:
-
status
- the status to handle
handle
public void handle(
CoreException coreException,
String pluginId)
- Handles given CoreException. This method has been introduced to prevent
anti-pattern:
StatusManager.getManager().handle(coreException.getStatus());
that does not print the stack trace to the log.
-
-
Parameters:
-
coreException
- a CoreException to be handled. -
pluginId
- the unique identifier of the relevant plug-in -
Since:
- 3.4
-
See Also:
-
handle(IStatus)
addLoggedStatus
public void addLoggedStatus(
IStatus status)
- This method informs the StatusManager that this IStatus is being handled
by the handler and to ignore it when it shows up in our ILogListener.
-
-
Parameters:
-
status
- already handled and logged status
fireNotification
public void fireNotification(int type,
StatusAdapter[] adapters)
- This method should be called by custom status handlers when an event
occurs. This method has no effect if statushandler does not support
particular event type.
-
-
Parameters:
-
type
- - type of the event. -
adapters
- - array of affected
StatusAdapter
s. -
Since:
- 3.5
-
See Also:
-
StatusManager.INotificationTypes
,
AbstractStatusHandler.supportsNotification(int)
addListener
public void addListener(
StatusManager.INotificationListener listener)
- Adds a listener to the StatusManager.
-
-
Parameters:
-
listener
- - a listener to be added. -
Since:
- 3.5
removeListener
public void removeListener(
StatusManager.INotificationListener listener)
- Removes a listener from StatusManager.
-
-
Parameters:
-
listener
- - a listener to be removed. -
Since:
- 3.5
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.