Java and Plugins
Author: Michael Plitkins
Updated: 11 October, 1998

Overview

Plugins and Java support are closely related in NGLayout. This is because we are relying on the new set of interfaces designed to bring the Communicator 4 Plugin APIs into the XPCOM world. Part of that effort included adding new interfaces to allow Java to be removed from the base Communicator code and instead behave as a plugin yet retain all of the original functionality. As such, there are two tiers of Plugin APIs that NGLayout will support, plus a compatibility layer:

  • Base plugin APIs to support the functionality of Communicator 4 style plugins

  • A few new APIs to make the old APIs more complete and fit better in the XPCOM world.

  • A second tier of APIs that add the additional level of functionality that a Java VM and Applets/Objects require.

  • "Forward adapter code" that sits on top of the tier one interfaces and knows how to talk to Communicator 4 style plugins. This will allow NGLayout to be able to load both new and old school plugins.
  • Refer to the plugin guide for more information on the functionality supported by the plugin APIs.
    Risks

  • The APIs for plugins are still in flux, and as such we have a moving target, but it's small and easy to hit.
  • Dependencies

  • In order to ship Java, we need a high performance JavaVM that conforms to the plugin API spec.
  • Assumptions

  • Assume nothing.
  • Schedule