Java News from Wednesday, February 2, 2005

Sun has submitted JSR-269, Pluggable Annotation Processing API to the Java Community Process (JCP). According to the JSR, "

J2SE 1.5 added a new Java language mechanism "annotations" that allows annotation types to be used to annotate classes, fields, and methods. These annotations are typically processed either by build-time tools or by run-time libraries to achieve new semantic effects. In order to support annotation processing at build-time, this JSR will define APIs to allow annotation processors to be created using a standard pluggable API. This will simplify the task of creating annotation processors and will also allow automation of the discovery of appropriate annotation processors for a given source file.

The specification will include at least two sections, a section of API modeling the Java programming language and a distinct section for declaring annotation processors and controlling how they are run. Since annotations are placed on program elements, an annotation processing framework needs to reflect program structure. Annotation processors will be able to specify what annotations they process and multiple processors will be able to run cooperatively.

The processors and program structure api can be accessed at build-time; i.e. this functionality supplements core reflection support for reading annotations.

Comments are due by February 14.


Siemens and Nokia have posted the public review draft specification of JSR-228, Information Module Profile - Next Generation (IMP-NG) to the JCP. IMP-NG is a strict subset of the Mobile Information Device Profile (MIDP), version 2.0 for smaller, user-interfaceless devices such as network cards, routers, tracking devices, and vending machines. It is designed to operate on top of the Connected, Limited Device Configuration (CLDC) 1.0 or later. According to the draft, IMP-NG implementations

Comments are due by March 7.


Tom Copeland has released PMD 2.3, an open source tool for automatically checking Java code for various classes of bugs. This is a bug fix release that prevents assorted NullPointerExceptions introduced in the 2.2 release a couple of days ago.


JScape has released the Secure FTP Factory 4.2, a $599 payware class library for FTP, SFTP, and FTPS (FTP over SSL) protocols. Java 1.2.2 or later is required.


YourKit, LLC has posted the seventh public beta of YourKit Java Profiler 4.0, a 295€ payware tool for detecting memory leaks and memory consumption bottlenecks. It features Automation of memory leak detection, an object heap browser, JUnit integration, IntelliJ IDEA, Borland JBuilder integration. Version 4.0 adds support for Mac OS X and simplifies analysis of custom class loaders and the classes they load. This release fixes bugs and adds some information to the user interface.