## org.eclipse.emf.ecore.plugin
Class EcorePlugin.Implementation

    java.lang.Object
      org.eclipse.core.runtime.Plugin
          org.eclipse.emf.common.EMFPlugin.EclipsePlugin
              org.eclipse.emf.ecore.plugin.EcorePlugin.Implementation

All Implemented Interfaces:
  EMFPlugin.InternalEclipsePlugin, Logger, ResourceLocator, org.osgi.framework.BundleActivator

Enclosing class:
  EcorePlugin

    public static class EcorePlugin.Implementation

extends EMFPlugin.EclipsePlugin

A plugin implementation that handles Ecore plugin registration.

See Also:
  `Plugin.startup()`

Field Summary

Fields inherited from class org.eclipse.emf.common.EMFPlugin.EclipsePlugin
`helper`

Fields inherited from class org.eclipse.core.runtime.Plugin
`PLUGIN_PREFERENCE_SCOPE, PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME, PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME`

Constructor Summary
`EcorePlugin.Implementation()` Creates the singleton instance.

Method Summary
`void` `start(org.osgi.framework.BundleContext context)` Starts up this plugin by reading some extensions and populating the relevant registries.

Methods inherited from class org.eclipse.emf.common.EMFPlugin.EclipsePlugin
`doGetImage, getBaseURL, getImage, getString, getString, getString, getString, getSymbolicName, log`

Methods inherited from class org.eclipse.core.runtime.Plugin
`find, find, getBundle, getDescriptor, getLog, getPluginPreferences, getStateLocation, initializeDefaultPluginPreferences, internalInitializeDefaultPluginPreferences, isDebugging, openStream, openStream, savePluginPreferences, setDebugging, shutdown, startup, stop, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### EcorePlugin.Implementation

    public EcorePlugin.Implementation()

  Creates the singleton instance.

Method Detail

### start

    public void start(org.osgi.framework.BundleContext context)
               throws java.lang.Exception

  Starts up this plugin by reading some extensions and populating the relevant registries.

  The `global` package registry is populated by plugin registration of the form:

        <extension point="org.eclipse.emf.ecore.generated_package" >
            <package uri="http://www.example.org/abc/Abc.ecore" class="org.example.abc.AbcPackage"/>
        <extension>

  The URI is arbitrary but an absolute URI is recommended. Provision for access to the serialized model via `"http:"` is encouraged.

  The `global` resource factory registry's `extension` map is populated by plugin registration of the form:

        <extension point="org.eclipse.emf.ecore.extension_parser">
            <parser type="abc" class="org.example.abc.util.AbcResourceFactoryImpl"/>
        <extension>

  The `global` resource factory registry's `protocol` map is populated by plugin registration of the form:

        <extension point="org.eclipse.emf.ecore.protocol_parser" >
            <parser protocolName="abc" class="org.example.abc.util.AbcResourceFactoryImpl"/>
        <extension>

  The `global` URI map is populated by plugin registration of the form:

        <extension point="org.eclipse.emf.ecore.uri_mapping" >
            <mapping source="//special/" target="special/"/>
        <extension>

  If the target is relative, it is resolved against the plugin's installed location, resulting in a URI of the form:

        platform:/plugin/plugin-name_1.2.3/...

  The above registration would map

        //special/a/b.c

  to

        platform:/plugin/plugin-name_1.2.3/special/a/b.c

  Specified by:
    `start` in interface `org.osgi.framework.BundleActivator`
  Overrides:
    `start` in class `Plugin`
  Throws:
    `java.lang.Exception` - if there is a show stopping problem.

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.