Edit online

Custom Protocol Plugin Extension

This type of plugin allows you to work with a custom designed protocol for retrieving and storing files.

It provides the following API:

URLStreamHandlerPluginExtension interface

There is one method that must be implemented:

getURLStreamHandler(String protocol)
It takes as an argument the name of the protocol and returns a URLStreamHandler object, or null if there is no URL handler for the specified protocol.

This type of plugin extension can be usually combined with a Workspace Access plugin extension that can add a custom toolbar with custom actions for opening documents from a certain source.

As an alternative, two older plugin extensions can also be used to add a toolbar action for showing a custom URL chooser:

URLChooserPluginExtension2 interface

Makes it possible to create your own dialog box that works with the custom protocol. This interface provides two methods:

chooseURLs(StandalonePluginWorkspace workspaceAccess)
Returns a URL[] object that contains the URLs the user decided to open with the custom protocol. You can invoke your own URL chooser dialog box here and then return the chosen URLs having your own custom protocol. You have access to the workspace of Oxygen XML Editor.
Returns a String object that is the name of the entry added in the File menu.
URLChooserToolbarExtension interface

Makes it possible to provide a toolbar entry that is used for launching the custom URLs chooser from the URLChooserPluginExtension implementation. This interface provides two methods:

Returns the javax.swing.Icon image used on the toolbar.
Returns a String that is the tooltip used on the toolbar button.