Pliny is written as a set of plugins that operate within the Eclipse operating framework. They can be loaded into an Eclipse installation, and if they are, Pliny functions will appear with the other functions that the particular Eclipse installation provides. Pliny is, therefore, dependent upon the presentation framework with Eclipse provides -- in particular the Eclipse workbench: the framework in which Eclipse activities are shown on the screen, and in which the user interacts with those objects. Views and Editors are, for example, presented within the workbench. Pliny is also dependent upon the OSGi bundle mechanism -- a base part of the Eclipse framework that manages the activation of separate bundles of code (an Eclipse plugin is an OSGi bundle).
When Pliny operates standalone it invokes various pieces of Pliny plugins to provide its function. However, for Pliny to run, it needs the workbench and OSGi mechanisms (and other things) to be set up so that the plugins have enough of Eclipse running to operate in the same way that they do within a normal Eclipse installation. Eclipse's RCP (Rich Client Platform) provides this framework by providing the suite of base Eclipse services that allows Eclipse plugins to operate on their own and the mechanisms that launch it. You can find out more about the RCP at http://www.eclipse.org/home/categories/rcp.php. Although now a bit dated, I found Ed Burnette's Rich Client Tutorial helpful.
An RCP bundle contains two key objects:
Code in uk.ac.kcl.cch.jb.pliny.rcp.appl
To be perfectly frank, very little individual coding is necessary to make this work, so don't expect to find too much there. The code involved is in package uk.ac.kcl.cch.jb.pliny.rcp.appl
The classes in uk.ac.kcl.cch.jb.pliny.rcp.appl are: