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
public static final String |
-
x_sExtensionURI
- Attribute on the root-element that gives the uri for the extension that provided this xml
|
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.
|
x_sExtensionURI
public static final String
x_sExtensionURI
- Attribute on the root-element that gives the uri for the extension that provided this xml
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.