Eclipse Platform Release 3.7

## org.eclipse.ui.menus
Class ExtensionContributionFactory

    java.lang.Object
      org.eclipse.ui.menus.AbstractContributionFactory
          org.eclipse.ui.menus.ExtensionContributionFactory

All Implemented Interfaces:
  IExecutableExtension

    public abstract class ExtensionContributionFactory

extends AbstractContributionFactory
implements IExecutableExtension

Clients who wish to contribute factories via the `org.eclipse.ui.menus` extension point should subclass this class rather than the `AbstractContributionFactory` as this class provides a default constructor.

Clients must be aware that the results of `getLocation()` and `getNamespace()` will not be valid until `setInitializationData(IConfigurationElement, String, Object)` is invoked. This will occur before `AbstractContributionFactory.createContributionItems(org.eclipse.ui.services.IServiceLocator, IContributionRoot)` is invoked.

Since:
  3.5

Constructor Summary
`ExtensionContributionFactory()` Create an instance of this class.

Method Summary
`String` `getLocation()` Return the location as a String.
`String` `getNamespace()` Return the namespace for this cache.
`void` `setInitializationData(IConfigurationElement config, String propertyName, Object data)` Clients who wish to implement their own `IExecutableExtension` behaviour must invoke this method prior to any customization they perform.

Methods inherited from class org.eclipse.ui.menus.AbstractContributionFactory
`createContributionItems`

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

Constructor Detail

### ExtensionContributionFactory

    public ExtensionContributionFactory()

  Create an instance of this class.

Method Detail

### getLocation

    public final String getLocation()

  Description copied from class: `AbstractContributionFactory`
  Return the location as a String.

  Overrides:
    `getLocation` in class `AbstractContributionFactory`
  Returns:
    the location - never `null`.

### getNamespace

    public final String getNamespace()

  Description copied from class: `AbstractContributionFactory`
  Return the namespace for this cache. This corresponds to the plug-in that is contributing this factory.

  Overrides:
    `getNamespace` in class `AbstractContributionFactory`
  Returns:
    the namespace the namespace of this factory

### setInitializationData

    public void setInitializationData(IConfigurationElement config,
                                      String propertyName,
                                      Object data)
                               throws CoreException

  Clients who wish to implement their own `IExecutableExtension` behaviour must invoke this method prior to any customization they perform.

  Specified by:
    `setInitializationData` in interface `IExecutableExtension`
  Parameters:
    `config` - the configuration element used to trigger this execution. It can be queried by the executable extension for specific configuration properties
    `propertyName` - the name of an attribute of the configuration element used on the `createExecutableExtension(String)` call. This argument can be used in the cases where a single configuration element is used to define multiple executable extensions.
    `data` - adapter data in the form of a `String`, a `Hashtable`, or `null`.
  Throws:
    `CoreException` - so that a subclass may throw this
  See Also:
    `IConfigurationElement.createExecutableExtension(String)`

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.