Interface Extension

All Superinterfaces:
Serializable
All Known Implementing Classes:
ExtensionImpl

public interface Extension extends Serializable
A component extension.

Extension objects holds extension data as a DOM element.

This data can be used by the extension point to extract contribution objects by using XMap XML mapping engine.

Author:
Bogdan Stefanescu
  • Method Details

    • getTargetComponent

      ComponentName getTargetComponent()
      Gets the component name where this extension should be contributed.
      Returns:
      the target component name
    • getExtensionPoint

      String getExtensionPoint()
      Gets the extension point name where this extension should be contributed.
      Returns:
      the target extension point
    • dispose

      void dispose()
      Disposes this extension.

      This will erase any data held by the extension.

    • getElement

      Element getElement()
      Gets the DOM element held by this extension.

      The DOM element correspond to the "extension" element in the component XML descriptor.

      Returns:
      the DOM element
    • setElement

      void setElement(Element element)
      Sets the DOM element that defines this extension.
      Parameters:
      element - the extension DOM element
    • getContributions

      Object[] getContributions()
      Gets the extension contribution objects.

      These objects are generated by the extension point from the DOM element and then attached to the extension.

      Returns:
      the contribution objects or null if none
    • setContributions

      void setContributions(Object[] contributions)
      Sets the contribution objects.

      This method is used by the extension point to attach the contribution objects to the extension.

      Parameters:
      contributions - the contribution objects
    • setComponent

      void setComponent(ComponentInstance component)
      Sets the component owning this extension.
      Parameters:
      component - the component instance owning this extension
    • getComponent

      ComponentInstance getComponent()
      Gets the component instance owning this extension.
      Returns:
      the component instance owning this extension
    • getContext

      RuntimeContext getContext()
      Gets the context of the component who contributed this extension.
      Returns:
      the extension context
    • getId

      String getId()
      Identifies the extension inside the contributing component. The id should be unique in the application. It is recommended to use the following name convention for the ID: 'component_name#contribution_name'.

      The id is never null. If the user is not specifying an ID, one will be generated as follow: componentName#targetExtensionPoint.randomNumber

    • getDocumentation

      String getDocumentation()
      Gets any comment on this extension.

      Comments can be used to document extensions.

      Comments should be short because they are stored in memory.

    • toXML

      String toXML()
      Gets the XML representation for this extension.