A fragment is used to replace or extend the functionality of
an existing plug-in. A common use for fragments is to put environment (operating system,
architecture, etc.) specific code into fragments. Depending on the environment the
plug-in is installed in the base plug-in code along with the correct fragment can be installed.
Fragments are also ideal for shipping features like language or maintenance packs that typically
trail the initial products for a few months.
When a fragment is detected by the platform and its parent plug-in is found,
the fragment's libraries, extensions and extension points are "merged" with
those of the parent plug-in.
While this merging mechanism is good from a runtime point of view,
developers need to view fragments as separate entities while working on them.
PDE provides full support for fragment development. Fragments can be viewed as
"limited plug-ins". They have all of the capability of regular
plug-ins but have no concept of life-cycle. Fragments have no top-level class
with "startup" and "shutdown" methods.
To create a fragment use the
New Fragment Project
wizard. Editing fragments is very similar to editing plug-ins.