Class Extension


  • public class Extension
    extends Object
    An Extension is a kind of listener descriptor that will be installed on a concrete ExtensionPoint that acts as kind of Publisher.
    • Constructor Detail

      • Extension

        public Extension​(PluginDescriptor pDescriptor,
                         String pExtensionPoint,
                         String pId,
                         String pExtensionClass,
                         Configuration conf,
                         PluginRepository pluginRepository)
        Parameters:
        pDescriptor - a plugin descriptor
        pExtensionPoint - an extension point
        pId - an unique id of the plugin
        pExtensionClass - the class extending the extension point
        conf - a populated Configuration
        pluginRepository - a PluginRepository containing all plugin artifacts
    • Method Detail

      • getAttribute

        public String getAttribute​(String pKey)
        Returns a attribute value, that is setuped in the manifest file and is definied by the extension point xml schema.
        Parameters:
        pKey - a key
        Returns:
        String a value
      • getClazz

        public String getClazz()
        Returns the full class name of the extension point implementation
        Returns:
        String
      • getId

        public String getId()
        Return the unique id of the extension.
        Returns:
        String
      • addAttribute

        public void addAttribute​(String pKey,
                                 String pValue)
        Adds a attribute and is only used until model creation at plugin system start up.
        Parameters:
        pKey - a key
        pValue - a value
      • setClazz

        public void setClazz​(String extensionClazz)
        Sets the Class that implement the concret extension and is only used until model creation at system start up.
        Parameters:
        extensionClazz - The extensionClasname to set
      • setId

        public void setId​(String extensionID)
        Sets the unique extension Id and is only used until model creation at system start up.
        Parameters:
        extensionID - The extensionID to set
      • getTargetPoint

        public String getTargetPoint()
        Get target point
        Returns:
        the Id of the extension point, that is implemented by this extension.
      • getExtensionInstance

        public Object getExtensionInstance()
                                    throws PluginRuntimeException
        Return an instance of the extension implementation. Before we create a extension instance we startup the plugin if it is not already done. The plugin instance and the extension instance use the same PluginClassLoader. Each Plugin uses its own classloader. The PluginClassLoader knows only its own plugin runtime libraries defined in the plugin.xml manifest file and exported libraries of the dependent plugins.
        Returns:
        Object An instance of the extension implementation
        Throws:
        PluginRuntimeException - if there is a fatal runtime error
      • getDescriptor

        public PluginDescriptor getDescriptor()
        Get the plugin descriptor.
        Returns:
        PluginDescriptor
      • setDescriptor

        public void setDescriptor​(PluginDescriptor pDescriptor)
        Sets the plugin descriptor and is only used until model creation at system start up.
        Parameters:
        pDescriptor - a instantiated PluginDescriptor