Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
Introduction: Extension Point/Extension Concept

The BlueBerry application framework provides the concept of extension points and extensions. The main goal is to allow the extension of functionality of a plugin (based on the contract defined by the extension point) by several other plugins. Both the extension point and the extension are defined in the according plugin.xml.

ExtensionPoints.png
Extension Point concept

Why Extension Points?

In the following simple example we have a plugin 'a' and 'b' with two classes 'A' and 'B' in these plugins.

ExtensionPointEx.png
Simple Example

Plugin 'a' uses the extension point mechanism and creates an extension point that can be extended by other plugins. Now if class 'A' reaches a part that can be extended it asks 'a' if another plugin is registered. If that's the case the functionality of the plugin 'b' that is defined in class 'B' is executed. A plugin can therefore be arbitrary extended.

Examples

The two following example plugins describe the usage of the BlueBerry Extension Points. One example defines an extension point and the other example extends the created extension point.

[Extension Points] [Next: Extension Point Definition] [BlueBerry Examples]