I'm going to try and kick off discussion on version 2.0 of Commons Lang.
I'm going to assume that all and any bugfixes which have gone in since the
v1.0.1 release on existing classes will goto 2.0. Also that we will take
another swing at the Bugzilla list before a 2.0 release, including the
nested stack-trace order question.
I'm going to assume that we'll be moving to 2.0 next and not to a 1.1.
New development tree features:
Not all are agreed that the features in the dev tree should remain in
Lang. For each of these features, I believe the aim is to ask IF it should
be in Lang, and IF it is mature enough to be in Lang 2.0.
[ie) not where should feature X be if not in Lang]
The following subpackages were added to the CVS tree:
math
Fraction. Various ranges. Probably immature.
functor
Well debated. I think we can safely accept that these will not be going.
For the record, functors are common method signature patterns.
reflect
Robert's the expert here, but this is a set of error-fixing and
usability enhancing helpers for Java reflection. No Bean concepts here.
time
Assorted date-format utils and a stopwatch for debugging. Again,
immature.
util
BitField: Mature class used in POI. Need to confer with POI on this.
Identifiers: Been around for a while. Dependent on <functor>. Used to
create ID's.
Validate: Akin to junit.framework.Assert. It tests boolean possibilities
and throws IllegalArgumentExceptions if they are false.
The top level package gained a class named Notifier, and an accompanying
exception class. Notifier is a reflection based class, aiding in the
creation of event-listeners. [probably should move into the reflect
sub-package].
Changes to existing classes:
NumberUtils gained a lot of 'constants'.
In builder, new methods were added to many of the classes.
In enum, Enum gained a getEnumClassname(Class).
In exception, new methods were added to ExceptionUtils. A protected
attribute was removed.
SerializationUtils gained an empty constructor.
StringUtils gained 3 new methods:
'unescape, uncapitaliseAllWords and isWhitespace'.
The signature on defaultString(String) and defaultString(String, String)
was loosened to defaultString(Object) and defaultString(Object, String).
My personal belief is:
1) math/time should continue to grow in Lang in development until such a
point as they are mature, or they are of obvious size in scope to be moved
from Lang. Basically, can we create a tight sub-package that fits in Lang.
Currently there are only the hints of such there.
2) reflect. I think this is a useful subpackage of Lang and think it's the
one subpackage which should go in a 2.0. However, I am unaware of whether
the code is believed to be complete yet. If not, I'm prepared to help it
get complete.
3) functor. I'm pretty ambivalent about functor. I'll happily accept
either of the solutions offered in the functor debates. Identifier's
dependency on functor does become a potential issue.
4) util.BitField. I'd like to find out if the POI people believe this is a
good core Lang class, or if it is just jetsam.
5) util.Identifiers. My immediate thoughts would be that this is quite a
broad subject. Myself, I need to grok the scope of the Identifiers class
more before having a solid view.
6) util.Validate. Seems like a useful tool. Would be better to add these
to junit.framework.Assert and then have Assert in a tiny jar away from the
rest of the junit jar, but seems unlikely.
Views?
Hen
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>