An extension is a unit of functionality that plugs into
an ide.
The name of this extension.
The individual or group responsible for this
extension.
Dependencies this extension has on other extensions.
Specifies a dependency on another extension. The text
value of this element is the extension id of an
extension the current extension depends on.
Optionally specifies the minimum version of the
dependency that must be installed.
Optionally specifies the maximum version of the
dependency that must be installed.
Classpath entries that this extension reqiures.
A classpath entry. The text content of this element is
the relative path of a jar file or directory that will
be added to the classpath of this extension.
Information about the platform this extension
requires.
The UI toolkit this extension requires.
All functionality provided by the extension is
described in the hooks section of the
extension manifest.
Specifies functionality this extension
contributes to menus and toolbars.
Actions contributed by this
extension.
A user invokable action.
The label for
this action.
The mnemonic
character to
use for this
action.
The tooltip
text to use
for this
action.
The path to
the icon to
use for this
action. This
is usually a
resource
available on
the classpath
of the
extension.
Whether this
action is
enabled by
default.
Whether this
action is
checked by
default. This
property only
applies to
actions which
have the
toggle
attribute set
to true.
The fully
qualified
class name of
an invoke
handler for
this action.
The specified
class must be
an
implementation
of
javax.ide.command.InvokeHandler.
The fully
qualified
class name of
an update
handler for
this action.
The specified
class must be
an
implementation
of
javax.ide.command.UpdateHandler.
Whether this
action is a
toggle action.
Toggle actions
have a notion of
a selection
state, which can
be either true
or false.
An override of an action
provided by another
extension. This
mechanism allows
extension writers to
register invoke and
update handlers for
actions provided by
other extensions and
optionally override the
default behavior of the
action.
The fully
qualified class
name of the invoke
handler for the
overridden action.
This must be an
implmentation of
javax.ide.command.InvokeHandler.
The fully
qualified class
name of the update
handler for the
overridden action.
This must be an
implmentation of
javax.ide.command.UpdateHandler.
The id of the action
being overridden.
Menus contributed by this
extension.
Menu bars contributed by
this extension.
Popup menus contributed
by this extension.
Toolbars contributed by this
extension.
Factories to create custom
toolbar items contributed by
this extension.
The fully qualified
class name of an
ItemFactory which
provides a custom GUI
component for a menu or
toolbar item. In the
current release of
JSR-198, only toolbar
items support
customizability. The
specified class must be
a subclass of
javax.ide.menu.ItemFactory.
Specifies custom document types and
listeners for document events this
extension contributes.
Document types contributed by
this extension.
Registers a document
type by suffix.
The fully qualified
class name of the
document type to
register. This
should be a class
extending
javax.ide.model.Document.
Registers a recognizer
that will identify
document types based on
the root element of an
XML document.
The suffix to
recognize. If none
is specified, .xml
is used.
The root element
to recognize.
The namespace
URI to
recognize.
The local
element name
to recognize.
The fully qualified
class name of the
document class to
use when recognizing
a file by its XML
root. This should be
a subclass of
javax.ide.model.xml.XMLDocument.
If no document class
is specified, then
XMLDocument is used.
Registers a recognizer
that will identify
document types based on
the doctype of xml
documents.
The suffix to
recognize. If none
is specified, .xml
is used.
The document type
to recognize.
The public id
to recognize.
The system id
to recognize.
The fully qualified
class name of the
document class to
use. Must be a
subclass of
javax.ide.model.xml.XMLDocument.
If none is specifed,
XMLDocument is used.
Registers a custom
recognizer
implementation.
Extension writers should
use this as a last
resort if other
recognizers are not
suitable, it may have
severe performance
issues on some IDEs.
The fully qualified
class name of the
recognizer to use.
This should be a
subclass of
javax.ide.model.Recognizer.
Listeners for document events
contributed by this extension.
A listener for document
events.
Listens for property
events.
Specifies listeners this extension
attaches to the IDE.
Listeners for IDE activation
and deactivation events.
The fully qualified
class name of a listener
for ide activation and
deactivation. The class
must implement
javax.ide.IDEListener.
Specifies custom editors, document
editor assignments, and listeners for
editor events that this extension
contributes.
Specifies custom editors
provided by this extension.
A custom editor.
The name of the
editor.
The fully qualified
class name of the
custom editor. The
class must be a
subclass of
javax.ide.editor.Editor.
Mappings from document types
to editors.
A mapping from a
document type to an
editor type. The mapping
allows documents of the
specified type to be
opened with the
specified editor types.
Specifies which
editors to open
the document type
with.
The fully
qualified
class name of
an editor to
register the
document type
with. The
class should
be a subclass
of
javax.ide.editor.Editor.
Specifies
whether this
is the
preferred
editor for the
specified
document type.
An IDE is free
to interpret
this attribute
however it
pleases. For
example, it
might open
documents in
the preferred
editor by
default on
double click.
The default
value for this
attribute if
not specified
is false.
The fully qualified
class name of a
document class to
register a mapping
for. The class
should be a subclass
of
javax.ide.model.Document.
Listeners for editor events.
A listener for editor
events.
Specifies preference and settings pages
that this extension contributes.
Property pages.
A property page.
The label for the
property page.
The fully
qualified class
name of the type
of object this
property page
edits. JSR-198
defines two
standard object
types:
javax.ide.IDE for
global IDE
properties, and
javax.ide.model.Project
for project
specific
properties.
Extensions can
also provide other
object types for
which dependee
extensions may
register property
pages. For more
information, see
javax.ide.property.PropertyPageRegistry
javadoc.
The fully qualified
class name of the
property page. This
should be a subclass
of
javax.ide.property.PropertyPage.
The fully qualified
class name of the
parent page of this
page. If property
pages are shown in a
hierarchical mode,
this provides a hint
to the IDE about
where to place this
page. If
unspecified, this is
a top level property
page. The class
should be a subclass
of
javax.ide.property.PropertyPage.
Specifies log pages that this extension
contributes.
Custom log pages.
A custom log page.
The fully qualified
class name of the
custom log page.
This must be a
subclass of
javax.ide.log.LogPage.
Specifies wizards that this extension
contributes.
Wizards are user interface
objects that can create new
objects.
A category for wizards.
IDEs may choose to use
the categorization
information to group
wizards.
A label for
the category.
The parent
category for
this category.
If none is
specified, then
this is
considered to be
a root category.
A wizard.
A label for the
wizard.
An icon for the
wizard.
A tooltip for the
wizard.
The fully qualified
class name of the
wizard
implementation. This
should be an
implementation of
javax.ide.wizard.Wizard.
The id of the
category that this
wizard should be
displayed in, if the
IDE supports wizard
categorization. If
no category is
specified, then the
IDE will display the
wizard in a default
category.
Specifies listeners for build events
that this extension contributes.
Listeners for build events.
The fully qualified
class name of a
listener. The class
should be an
implementation of
javax.ide.build.BuildListener.
Specifies optional information about
this extension identifying the
functionality it provides to the user as
a feature.
Licensing information about this
extension.
Copyright information about this
extension.
The path to an icon for this
extension.
A description of the functionality
provided by this extension.
Whether this extension is
optional. Optional extensions can
be switched off by users via some
IDE specific extension
customization UI. By default,
extensions which have a
feature-hook are optional.
Extensions with no feature-hook
are not optional.
The id of an extension this
extension is logically part of.
There is no requirement that there
be an actual dependency between
the extensions.
Specifies handlers this extension
contributes for custom hooks.
Registers a custom hook
handler.
The namespace URI of the
xml element that this hook
handler handles.
The local element name of
the XML element that this
hook handler handles.
The fully qualified class
name of the custom hook
handler. This must be a
subclass of
javax.ide.extension.ExtensionHook.
The location of the XML
schema for the custom hook
grammar. This location is
relative to the location
of the extension.xml
within the jar file
providing this extension.
Specifies virtual file system helpers
contributed by this extension.
A virtual file system helper.
The fully qualified class name
of the helper implementation.
This should be a subclass of
javax.ide.net.VirtualFileSystemHelper.
The URI scheme to register
this helper for.
Abstract element representing custom
hooks.
The version of this extension, should only
contain digits and periods.
The extension SDK this extension is compatible
with. This currently must be "1.0".
The fully qualified class name of a resource
bundle to use to look up translated strings in
this extension manifest.
A unique identifier.
A section containing items.
The label for the menu.
The mnemonic for the menu.
The tooltip text for the menu.
The path to the icon for the menu. For top level
menus, this property may be ignored.
A section containing items in a menu.
Specifies the id of a menu component the current
component must come before.
Specifies the id of a menu component the current
component must come after.
The id of the action this menu or toolbar item is for.
If this menu or toolbar item is in a radio group,
specifies the id of the radio group. This id should be
the same for all items in a given radio group.
An item in a menu or toolbar section.
A submenu in a section. For toolbar sections,
the behavior of this element is unspecifies.
A toolbar.
The name of a key in the resource bundle specified by the
rsbundle-class root element of the extension.
The name of a key in the resource bundle specified by the
rsbundle-class root element of the extension.
The listener to register.
The object to register the listener for.
A fully qualified class name.
A UI toolkit.
The Swing UI toolkit.
The SWT UI toolkit.
The version of the JSR-198 spec this extension manifest conforms to. Must currently be either 1.0 or 2.0.