Java News from Wednesday, November 1, 2006

Sun has posted the proposed final draft of JSR-199 Java Compiler API to the Java Community Process (JCP). According to the draft:

The Java™ programming language compiler API is a set of interfaces that describes the functions provided by a compiler. This API has three main objectives:

I've only had a chance to skim the API so far, but at first glance it strikes me as needlessly complex. Did they really need to invent a completely new file system interface just to manage compilation of a few files? I strongly suspect the working group could cut the number of classes and methods in half without losing anything, and probably cut it by two thirds without losing anything most programmers would miss. This looks like yet another case of the overly generic, overly abstract diseases that infects many of the smartest developers. I suspect someone needs to walk through the hallways at Sun one weekend and surreptitously remove every copy of Design Patterns from programmers' bookshelves. Abstract Factory and Factory Method are solutions to occasional and uncommon tough problems, not the first thing you should pull out of your toolbox for every class.

Sun has posted a beta of the Sun Java Toolkit 1.0 for CDC. This J2ME emulator supports the Connected Device Configuration 1.1, Foundation Profile 1.1, Personal Basis Profile 1.1, and the Advanced Graphics User Interface 1.0..

Sun has posted the first maintenance review change log for JSR 252: JavaServer Faces. There are quite a few significant changes, errata, and clarifications proposed.

Day Software has posted the early draft review of JSR-283 Content Repository for Java Technology API 2.0 to the JCP. According to the JSR:

Since this JSR represents an enhancement of JSR-170, the same general goals apply to this JSR as to JSR-170 (from the JSR-170 proposal):

The aim is to produce a content repository API that provides an implementation independent way to access content bi-directionally on a granular level. A content repository is a high-level information management system that is a superset of traditional data repositories. A content repository implements ?content services? such as: author based versioning, full textual searching, fine grained access control, content categorization and content event monitoring. It is these ?content services? that differentiate a content repository from a data repository. Many of today?s (web) applications interact with content repositories in various ways. This API proposes that content repositories have a dedicated, standard way of interaction with applications that deal with content. This API will focus on transactional read/write access, binary content (stream operations), textual content, full-text searching, filtering, observation, versioning, handling of hard and soft structured content.

In particular, the following functional areas will be reviewed by the expert group for possible inclusion in version 2.0:

Tryllian Solutions BV has released the Agent Development Kit 3.2.0, a free-as-in-speech (LGPL) framework for mobile agents written in Java.