Skip to main content
Jump to: navigation, search

E4/Eclipse Application Services


  • Life cycle - initialization and disposal.
  • Status handling (errors and warnings).
  • Logging over and above status handling.
  • Scheduling background work.
  • Accessing preferences (mostly read access, but sometimes write access).
  • Reporting status (think status line).
  • Adapting objects.

Specific to UI Parts

  • Receiving input.
  • Producing selection.
  • Persisting data (receiving persisted state, and producing persistable state).
  • Managing shared resources (e.g. JFace LocalResourceManager).
  • Connecting to the help system.
  • Participating in Undo/Redo.
  • Participating in editor lifecycle (units of saveability, dirtiness, saving, prompting to save).
  • Updating enablement, labels, icons of menu and tool items.
  • Registering command handlers.

Specific to Command Handlers

  • Reporting progress and responding to cancellation requests.


  • Shell Provider (for properly parenting dialogs).
  • Reacting to changes to the workbench model.
  • Participating in label and icon decoration.
  • Reacting to changes to the context (such as plug-ins that come and go).
  • Dynamically contributing to the workbench model (e.g. tool items, menus, sub-parts).


  • IWorkspace.
  • Database connection.
  • Getting hold of the domain model, e.g. in the form of an EMF model.

Not Sure About These

  • String comparison/collation.
  • String localization.

Back to the top