What's the Context?
The notion of context has been around for awhile in the Eclipse platform, but it has never been fully realized as a first class concept. Contexts provide a mechanism for abstracting away dependency on a particular framework or container in your application code. Contexts can also be used as the basis for a dependency injection system. We will introduce a light-weight hierarchical context mechanism and demonstrate how it is used in e4.
We will also provide an overview of how contexts are applied to the platform UI in e4. By matching context nodes against the part hierarchy, state management and service requests can be handled in a unified, scalable, well encapsulated manner. We will show how this one mechanism can be applied to a surprising variety of platform problems, in particular UI element enablement rules and command invocation.
John has worked on the Eclipse
project for the past decade in many different areas, and more recently on the Equinox
project. In recent years he has focused on the workspace model, concurrency infrastructure, provisioning (Equinox p2), and overall platform API quality. John is a member of the Eclipse Architecture Council, and has authored numerous articles
and a book
on Eclipse. He has spoken frequently at EclipseCon and EclipseWorld on subjects ranging from Eclipse API design, to RCP application authoring and concurrent programming in Eclipse.
Paul Webster received a B.A.Sc. in Computer Engineering from the University of Waterloo in 1994. After many years working on telephony software and network configuration software in Java and C++, Paul joined the IBM Eclipse Platform UI team in May 2005 and is currently working for IBM Rational Software. Paul is responsible for command and handlers, keybindings, and menu contributions.
This session is part of the curated collection of short talks titled
"e4 - Under the Covers"