Jump to: navigation, search

OTEquinox/Aspect Binding

Binding aspect bundles to base bundles

The central concept of OT/Equinox is a new relationship between bundles called aspect binding. This relationship is declared in an aspect's plugin.xml as an extension to the extension point org.eclipse.objectteams.otequinox.aspectBindings.

An aspectBinding declares a relationship between a basePlugin and one or more team classes:
  • basePlugin: symbolic name of a plug-in (bundle) to be adapted
    • In the special case of roles bound to classes from the same bundle use SELF as the base bundle
    • If the bundle to be adapted is a fragment, specify the host bundle as basePlugin and add a requiredFragment specification
    • If a team requires access to a class from a not-exported package add a forcedExports specification (see OTEquinox/Forced Export).
  • team: name of a team class that is defined in the current bundle and whose roles shall be bound to classes from the base bundle
    • activation: select whether the team shall be instantiated and activated when the application is started
See the extension point description for the official documentation.
While normally aspect bindings require no further confirmation they are also subject to the protocol of Aspect Binding Negotiation.

Visualization in the OTDT during development

The OTDT's package explorer shows aspect bindings in the project's root folder: AspectBindingsInPackageExplorer.png

Visualization in the running IDE

Any instance of Eclipse that contains OT/Equinox plugins shows their aspect bindings in the About dialogs: AboutWithBindingDecoration.png

(This dialog is implemented by the plug-in org.eclipse.ui.workbench. The version column shows that this plug-in has been adapted by org.objectteams.otequinox.branding, which itself implements the adaptation to this very dialog).