In the Creating New Extension Points: How Others Can Extend Your Plug-in lecture you learned how to define new extensions using extension points. The solution defined in project `com.ibm.lab.soln.extensionpoint` demonstrates how to write an extensible plug-in that offers the possibility for other plug-ins to extend. It defines a common toolbar pulldown, conceptually similar to the Run > External Tools menu choice:

A second plug-in, defined in project `com.ibm.lab.soln.extensionpoint.test`, demonstrates how to extend the first plug-in.

## Running the Solution

To run the example, launch the run-time instance of Eclipse (Run > Run As > Run-time Workbench). The contributed menu choices are shown from the toolbar menu pulldown (). If you have customized the perspective, you may need to explicitly add the "Soln: Tool Actions" action set (Window > Customize Perspective... > Other).

## Roadmap of the Solution

As described above, this solution is partitioned into two projects. All but the last class in this table are contained in the `com.ibm.lab.soln.extensionpoint` project.

Class (All) | Description
`ExtensionProcessor` | Processes extension point contributions to `com.ibm.lab.soln.extensionpoint.toolAction`.
`IToolAction` | Interface that all tool action contributions to the `com.ibm.lab.soln.extensionpoint.toolAction` extension point must implement, that is, the class specified in the `tool` attribute of the `<action>` tag.
`TestToolAction` | Quick test of implementation; action displays an information message.
`ToolActionParameters` | Encapsulates parameters specified in the `<action>` tag.
`ToolActionsPulldownDelegate` | Handles menu choice selections from the common toolbar pulldown and delegates them to its associate tool action (`IToolAction`).
`ContributedTestToolAction` | Similar to `TestToolAction`, this is contributed by another plug-in, in project `com.ibm.lab.soln.extensionpoint.test`. It also displays an information message, and parses some of the parameters supplied as part of the `IConfigurationElement` interface.

© Copyright International Business Machines Corporation, 2003.
All rights reserved.