public final class Context extends NamedHandleObject implements Comparable
A context is an answer to the question "when". Other services can listen for the activation and deactivation of contexts, and change their own state in response to these changes. For example, Eclipse's key binding service listens to context activation and deactivation to determine which key bindings should be active.
An instance of this interface can be obtained from an instance of
ContextManager
for any identifier, whether or not an context
with that identifier is defined in the extension registry.
The handle-based nature of this API allows it to work well with runtime
plugin activation and deactivation. If a context is defined, that means that
its corresponding plug-in is active. If the plug-in is then deactivated, the
context will still exist but it will be undefined. An attempts to use an
undefined context will result in a NotDefinedException
being
thrown.
This class is not intended to be extended by clients.
ContextManager
description, name
defined, id, string
Modifier and Type | Method and Description |
---|---|
void |
addContextListener(IContextListener listener)
Registers an instance of
IContextListener to listen for
changes to properties of this instance. |
int |
compareTo(Object object) |
void |
define(String name,
String description,
String parentId)
Defines this context by giving it a name, and possibly a description and
a parent identifier as well.
|
String |
getParentId()
Returns the identifier of the parent of this instance.
|
void |
removeContextListener(IContextListener contextListener)
Unregisters an instance of
IContextListener listening for
changes to properties of this instance. |
String |
toString()
The string representation of this context -- for debugging purposes only.
|
void |
undefine()
Makes this context become undefined.
|
getDescription, getName
equals, getId, hashCode, isDefined
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
public final void addContextListener(IContextListener listener)
IContextListener
to listen for
changes to properties of this instance.listener
- the instance to register. Must not be null
. If
an attempt is made to register an instance which is already
registered with this instance, no operation is performed.public final int compareTo(Object object)
compareTo
in interface Comparable
public final void define(String name, String description, String parentId)
Defines this context by giving it a name, and possibly a description and
a parent identifier as well. The defined property automatically becomes
true
.
Notification is sent to all listeners that something has changed.
name
- The name of this context; must not be null
.description
- The description for this context; may be null
.parentId
- The parent identifier for this context; may be
null
.public final String getParentId() throws NotDefinedException
Notification is sent to all registered listeners if this property changes.
null
.NotDefinedException
- if this instance is not defined.public final void removeContextListener(IContextListener contextListener)
IContextListener
listening for
changes to properties of this instance.contextListener
- the instance to unregister. Must not be null
.
If an attempt is made to unregister an instance which is not
already registered with this instance, no operation is
performed.public final String toString()
toString
in class HandleObject
null
.public final void undefine()
null
.
Notification is sent to all listeners.undefine
in class HandleObject
Copyright (c) 2000, 2014 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.