| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en"> |
| <HEAD> |
| |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| |
| <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> |
| <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> |
| |
| <LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> |
| <TITLE>Simple plug-in example</TITLE> |
| |
| <link rel="stylesheet" type="text/css" HREF="../book.css"> |
| </HEAD> |
| <BODY BGCOLOR="#ffffff"> |
| <H1> |
| Plug it in: Hello World meets the workbench</H1> |
| <P > |
| The Eclipse platform is structured as a core runtime engine and a set of additional features that are installed as platform |
| <b>plug-ins</b>. Plug-ins contribute functionality to the platform by contributing to pre-defined |
| <b> extension points</b>. The workbench UI is contributed by one such plug-in. When you start up the workbench, you are not starting up a single Java program. You are activating a platform runtime which can dynamically discover registered plug-ins and start them as needed.</P> |
| <P > |
| When you want to provide code that extends the platform, you do this by defining |
| system extensions in your plug-in. The platform has a well-defined set of extension |
| points - places where you can hook into the platform and contribute system behavior. From the platform's perspective, your plug-in is no different |
| than basic plug-ins like the resource management system or the workbench itself.</P> |
| <P > |
| So how does your code become a plug-in? </P> |
| <ul> |
| <li>Decide how your plug-in will be integrated with the platform.</li> |
| <li>Identify the extension points that you need to contribute in order to |
| integrate your plug-in.</li> |
| <li>Implement these extensions according to the specification for the |
| extension points.</li> |
| <li>Provide a manifest file (manifest.mf) that describes the packaging and |
| prerequisites for your code, and a plug-in manifest (plugin.xml) that |
| describes the extensions you are defining.</li> |
| </ul> |
| <P > |
| The process for creating a plug-in is best demonstrated by implementing an old classic, |
| "Hello World," as a plug-in. The intention of this example is to give you a flavor |
| of how plug-in development is different from Java application development. We'll gloss over a |
| lot of details in order to get the plug-in built and running. Then we'll look at extension |
| points in more detail, see where they are defined, and learn how plug-ins describe their implementation of an extension.</P> |
| |
| </BODY> |
| </HTML> |