As you may know, this past weekend was a holiday here in the states.  Many
folks, myself included, have been off line for the past few days.  I'm
playing catch-up here, but here are some general comments:

* The auto-boxing features of JDK 1.5, and for that matter, the generics
support, is only superficially similar to the functionality that the
collections.primitives package provides.  Using auto-boxing saves you the
trouble of typing "new Integer(value)" or "((Integer)obj).intValue()".  It
does not change the underlying representation of the value (which in the
case of Integer versus int, is twice as large as it would otherwise be).

* Even if JDK 1.5 supported the functionality of collections.primitives
(which it doesn't), many users and environments don't have the luxury of
moving to JDK 1.5.  The current collections.primitives package works with
JDK 1.1 or later, with or without the java.util collections stuff, which
makes it fully usable on any Java platform.

* I'm -1 to moving collections.primitives, or more generally, any release
ready code, to the sandbox, as this moves it further away from a release
rather than closer.

* I'm +0 to splitting collections.primitives to a component distinct from
commons-collections, although I'll note:

a) The two code bases are not truly independent, they share a unit test
suite, so if we split the two we'll probably want to extract the shared
unit testing framework.

b) It is quite likely that we'll eventually want primitive implementations
of Bag and other commons-collections-only extensions, which would
introduce direct collections/primitive-collections dependencies, at least
at the adapter level.  This would also imply that collections and
primitive-collections packages are likely to change together, since changes
to commons-collections extensions would imply changes to the primitive
collections.

* I'm +0 to having the commons-collections component release multiple
JARs, for example, commons-collections.jar (everything minus
*.primitives), commons-collections-primitives.jar (*.primitives.*), and
commons-collections-all.jar (everything).

* I'm unsure about the notion of "primitives" as opposed to "primitive
collections".  Precisely what non-collection stuff do we believe to be in
scope for "primitives"?


- Rod <http://radio.weblogs.com/0122027/>

(Actually, when I said +0 above, I'd actually volunteer to help with
either of those options, I just don't have strong preference for either of
those over leaving the code right where it is.)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to