On Sun, 8 Dec 2002, Stephen Colebourne wrote:

> From: "Rodney Waldhoff" <[EMAIL PROTECTED]>
> > 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.
>
> The reasoning is to allow [collections] to remain dependency free. I
> also think that its not a bad idea to put the code where functors
> operate on collections in [functor] - those methods only require the JDK
> collections interfaces to work ;-) Basically, functors operating on
> collections _could_ be in either component, but by being in functor the
> dependency is removed.
>

You're right, the Functors-acting-on-Collections methods don't need
commons-collections, just java.util.  This has an added benefit of making
the transition from [collections] to [functor] easier for us to deal with.
We don't need to update anything in [collections], we just need to remove
things.  We could deprecate the [collections] versions and keep them
around (otherwise unchanged) for several releases if we wanted, both
versions (even the already released versions of [collections]) should work
in parallel just fine.

>
> > > - [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.
>
> Hmmm, this opens up the possibility of three non-dependent components which
> would be good I suppose.
>
> (I guess this in solution #6)
>

I think I'm liking that approach more and more.

 - Rod

> Stephen


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

Reply via email to