Three years after the initial JSR, Oracle has also posted the first public review draft specification of JSR-198 A Standard Extension API for Integrated Development Environment . According to the draft,
There are a diverse set of IDE products that are designed from the ground up to be extensible platforms where third parties can plug-in new extensions that enhance the IDE with additional features. In general, the layer that integrates an extension to an IDE is only compatible with the integration API of that single IDE. If we examine the IDE integration layer that typical IDE platforms provide we can see that:
- It is a very thin layer of code (compared to the amount of code generally written by the third party to implement a useful feature)
- There are many areas of similarity between the integration layers of the different IDEs
The Extension Software Development Kit (ESDK) proposed by this specification defines a standard application programming framework for extending IDEs written in Java with new functionality. It is designed to eliminate the need to write multiple versions of the integration layer that plugs-in the new functionality across different IDEs.
Where there are many areas of integration that could be addressed by this specification, for purposes of the first scope, viability, and time, this version of the ESDK covers integration points that allow extension writers to:
- Extend the IDE with new menus and commands
- Extend the IDE data model with additional document types
- Extend the IDE with new document creation wizards
- Extend the IDE with new editor types
- Extend the IDE new log pages
- Extend the IDE preferences and project settings with new property pages
- Define extension specific extension points
- Access the IDE Environment information
- Access extension registration information
- Access project information
- Access the Java structure model
- Access the XML structure model
- Access textual data
- Manipulate documents through a virtual file system
- Listen for data model change events
- Listen for IDE events
- Interact with the compiler
- Interact with the debugger
- Use IDE utilities such as message, warning, and error dialogs
These integration points provide enough coverage to allow building realistic and useful extensions. Integration points not covered by this version of the specification will be addressed in future versions.
Comments are due by October 17.
Apple has posted a security update for Mac OS X 10.3.9 and 10.4.2. Among other fixes, this plugs a hole in QuickTime for Java that allows an untrusted applet to "call arbitrary functions from system libraries." This affects QuickTime 6.5.2 and earlier.