On Sun, 8 Dec 2002, Stephen Colebourne wrote:

> Solution #3
> [functor] project, that contains the functor interfaces, implementations and
> CollectionUtils implementations, with the collections interfaces and
> CollectionUtils code deprecated in favour of the functor ones.

In this scenario, why would the CollectionUtils methods need to be
removed? (They'd need to be changed to use the [functor] project's
packaging of Transformer, Predicate et al of course.)  It makes sense to
me to have [functor] define the core interfaces (and where appropriate,
implementations), and still leave the CollectionUtils methods as functors
applied to collections.

> - [functor] depends on [lang]

The o.a.c.lang.functor package is only weakly coupled with anything else
in o.a.c.lang:

a) the Exception classes extend NestableException, which simply dulicates
functionality already available in 1.4 VMs (and not all that elegantly
since the API is different from that in 1.4)

b) FactoryUtils uses a single, simple method of SerializationUtils to
perform a serialize/deserialize copy.

It would not be strictly necessary for [functor] to depend upon [lang],
and this would remove the following drawbacks as well:

> - Functor users, like [io], need to depend on [functor] and [lang]

> - Causes problems if [lang] wants to use a functor


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

Reply via email to