> On 30.12.2005 19:09, Carsten Ziegeler wrote:
> > Way too much code me thinks. So what about:
> >
> > class MyComponent implements SOMETHING, ThreadSafe {
> >   protected final ClassA compA;
> >   protected final ClassB compB;
> >
> >   public MyComponent(ClassA a, ClassB b) {
> >     compA = a;
> >     compB = b;
> >   }
> > }

I've tried this (with Jakarta Commons Attributes) and the end result
can be summarized as "it is barely worth it" in terms of added
complexity and behind-the-scenes magic. Technically it is a huge
success. But the price you pay is that it makes the code that much
more non-standard.

This is also for a closed code base that has a fixed team of a few
developers. For open source, having additional magic would probably be
even more expensive in terms of complexity, initial threshold for
developers, and embeddability.

(Regarding the lower embeddability: This is my main problem with
Commons Logging. It has magic all right - just not the right magic!)

For Cocoon, I'd recommend against it. So what if the code is a little
bit bigger, if it means that it can actually be understood without
knowing a hundred additional, Cocoon-specific contracts up front.

/LS