[jdom-interest] Still to do - org.jdom2.util

Rolf Lear jdom at tuis.net
Tue Apr 3 06:41:13 PDT 2012


Hi all

I have the following on the to-do list: 'fix' the org.jdom2.util package

this package contains public classes many of which are not really JDOM
specific:
https://github.com/hunterhacker/jdom/tree/master/core/src/java/org/jdom2/util

My plan is:

StringBin will become 'package private' and will be moved to org.jdom2.
This makes it 'invisible' but still accessible to SlimJDOMFactory

XMLBase will have its internal logic moved to Element as a new method
public URI getXMLBase(), then XMLBase will be removed entirely

NamespaceStack can stay in util and be declared part of the public API
IteratorIterable can stay in util and be declared part of the public API


This leaves ArrayCopy and ReflectionConstructor. These classes are used
from a number of different places in JDOM. ArrayCopy duplicates the
Arrays.arrayCopy(*) logic because it is not available in Java5.
ReflectionConstructor centralizes the logic and error handling for a number
of places too. They cannot be made 'private'.

I think I am going to create a new package org.jdom2.support which I will
document as 'this is private JDOM code. Do not use any classes in this
directly package in your code!'

I think this will leave org.jdom2.util with just the NamespaceStack and
the IteratorIterable. Which are fair to make part of the public JDOM API.

Does anyone have any comments on this? Concerns?

I would particularly like feedback on what a good name would be for the
new package containing ArrayCopy and other 'public-but-not-public' classes.
"org.jdom2.support"? "org.jdom2.internal"? Any ideas?

Rolf


More information about the jdom-interest mailing list