Here are the tasks currently/planned for 'core' commons components, by which
I mean [lang], [util], [beanutils], [io], [util], ('pattern' no longer
exists). The project is the current location.

String/number/object manipulation [lang]
Exception manipulation [lang]
Collections [collections]
Iterators [collections]
Comparators [collections]
Functors [lang][collections]
Type conversion [beanutils]
Reflection  [lang][beanutils]
Static bean access helpers [beanutils]
Dynamic beans [beanutils]
Pluggable introspection [clazz]
Class meta data [clazz]
IO [io]
Compression [io]
Unique identifiers [util]
Miscellaneous stuff [util]


What has been asked before, and will be asked again I expect is what should
go where.

Why are Functors in [lang] ?
Because they are not specifically related/restricted to collections.
Because other projects, eg. [io], [clazz] want to use them and don't want to
depend on [collections].

Why is Reflection in [lang] ?
Because its not specifically tied to beans.
Because other projects, eg. [clazz] want to use reflection and don't want to
depend on [beanutils]

Why is Type conversion in [beanutils] ?
Because of history, even though the Transformer interface would be a good
one for a type convertor to implement.


It all comes down to how big or small you want your jar files. And whether
[beanutils] and [collections] are prepared to add [lang] (or _any_ other
jar) as a dependency.

So, is the list above right? Where would you draw the scope lines? Do we
just follow history? Or try to improve?

Stephen



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

Reply via email to