IExtensionXmlHandler Interface

com.bea.ide.core
IExtensionXmlHandler Interface

public interface IExtensionXmlHandler

    extends Serializable

The interface implemented by objects that consume xml from IDE extensions. Extensions may define zero or more handlers, each with a unique "handler-id". Extensions can then define sections in their extension.xml in the form:
< extension-xml id="{handler-id}">{xml}</extension-xml>
The format for the contents of such sections are completely defined by the handler that will consume them.

At startup, the IDE loads all extension.xml files. It analyzes each for the <extension-info> tag described in IExtension. After all extensions have been analyzed, each section with the same "handler-id" are grouped into a document fragment and passed to the invoke method of the registered handler for that id. sections for which there is no handler defined are simply ignored, as are any other tags found at the top level of the file. Objects implementing this interface must be serializable as it is an extension of the serializable interface. The IDE will serialize these objects when it exits, so that it may recreate them at startup if the set of extensions has not changed since the last invocation.


All Superinterfaces
Serializable

Field Summary

public static final String
x_sExtensionURI
Attribute on the root-element that gives the uri for the extension that provided this xml
 

Method Summary

public String
getId()
Returns the handler id for this handler.
public void
invoke(DocumentFragment root)
Called to allow the handler to analyze and consume the XML from all extensions loaded by the IDE.

Field Detail

x_sExtensionURI

public static final String x_sExtensionURI
Attribute on the root-element that gives the uri for the extension that provided this xml

 

Method Detail

getId() Method

public String getId()
Returns the handler id for this handler. This identifies the handler to the application and should match the ide declared in the XML file for the extension defining the handler

Returns

handler id for xml that this handler will consume

invoke(DocumentFragment) Method

public void invoke(DocumentFragment root)
Called to allow the handler to analyze and consume the XML from all extensions loaded by the IDE. Each section of XML will be added as a child of the document fragment. The handler should iterate through the set of tags and extract the information it requires from each node. Currently, there is no way to associate a given section of xml with the extension that it came from, though this is being considered.