[jdom-interest] JDOM 2.x BETA 6 Released - April Fools
Rolf Lear
jdom at tuis.net
Sun Apr 1 20:17:18 PDT 2012
No, actually, really it has been released. No April Fools in that.
There are some significant changes in this release:
The Parent interface has been extended to incorporate the addContent(*)
methods which are common to both Document and Element. When the Parent
interface was designed, it was not possible to do Covariant return
types, and it was not possible to have addContent(Content) return
Document on a Document instance, and Element on an Element instance.
With Java5, this is now possible, and it is thus logical to include
these methods on the Parent interface.
XPathExpression and its derivative classes have been changed to be more
consistent both with each other, and with other 'de-facto' standards in
JDOM. This means that:
1. Instead of passing around String uri's, the code now passes around
Namespace instances.
2. XPathExpression now supports getting and setting Variables using a
'qname' syntax that matches the syntax used for declaring the variables
in the XPathFactory.
JDOMConstants has a few values which represent common prefixes for some
namespaces. These were named "NS_PFX_...". They have been renamed to
"NS_PREFIX_*" to be more specific.
SAXBuilder was changed by me a while ago to rename three 'boolean' get*
methods to be is* methods. For example, getExpandEntities() became
isExpandEntities(). It has become apparent that there is no significant
benefit from this change. It does not clarify what the methods do, the
names are still ugly, and the additional complexity for both the JDOM
code (with deprecated get* methods) and the users (having to change
their code calls to avoid deprecation warnings) makes it not-worthwhile.
Thus these three changes have been 'reverted'.
TextHelper is a 'contrib' class that I recently ported in to 'core'.
Unfortunately, I completely missed the fact that the functionality
already existed in JDOM's Element class. So, this TextHelper has been
completely removed.
I introduced the 'Walker' Interface to deal with the complexities of
formatting XML Output in the org.jdom2.output.* packages. The names of
the 4 concrete implementations of the Walker interface were inconsistent
with the types of formatting they do. The concrete implementations have
been renamed to match the TextMode they represent.
This change will only affect people who have already subclassed JDOM 2.x
beta code.
A number of documentation issues have been addressed, and the wiki page
is being improved and updated.
I am hoping that you will all jump on to this beta and run it through
it's paces. If you have any questions or suggestions, please speak up.
If you notice any JavaDoc issues please shout out as well.
The final 2.0.0 release is still targeted for this Easter weekend.
Please continue to play with the JDOM 2.x Beta releases. This latest
BETA is available from the regular places (with maven to follow soon):
Downloads: https://github.com/hunterhacker/jdom/downloads
The Release:
https://github.com/downloads/hunterhacker/jdom/jdom2-0.0.6-BETA.zip
The APIDocs: http://hunterhacker.github.com/jdom/jdom2/apidocs/index.html
The Code Coverage:
http://hunterhacker.github.com/jdom/jdom2/coverage/index.html
The JUnit Report:
http://hunterhacker.github.com/jdom/jdom2/junit.report/index.html
Thanks
Rolf
More information about the jdom-interest
mailing list