cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <>
Subject Re: Re-precating (?) classes (was: RE: What is a Parser?)
Date Mon, 03 Feb 2003 15:54:45 GMT
Vadim Gritsenko wrote:
> Berin Loritsch wrote:
>> Vadim Gritsenko wrote:
>>> Berin,
>>> Please see example sent in response to Ken's question:
>>> Generator g;
>>> Component c = g;
>>> This *will* fail to compile.
>> However, when would this ever happen?
> When, say, you happen to collect components in an array. Or see below.

How about an array of Objects?  It works just as well.  Although if it
is an array that will be used at runtime, a fully typed aray is better.

>> Who ever goes from an interface with methods to one without methods?
> Avalon does ;-)
> Or any avalon-like code, like CocoonComponentManager (which means 
> chances are there is MyCompanyComponentManager somewhere out there).

Well in Avalon they go to Object, not Component.

>> This only seems to be an accademic issue, and not a real world code 
>> example.
> Berin, that was you who taught us to work hard to keep backward 
> compatibility. It should be you who should argue on this point instead 
> of me! But if you want to go down the road of "academic" and "practical" 
> backward compatibility, then I rest my case.

And I am trying to point out that we have a backwards compatible
approach that allows for a smooth migration from not needing the
Component interface.

All expected uses of the Component interface have been accounted

Yes we should try to keep backwards compatibility.  You can go crazy
trying to think of every bastardization of the accepted use and corner
yourself into ineffectualness.

>> IOW, what does it buy you to perform the bad code snippet above?
>> For all practical and real requirements, it is safe to remove the
>> Component interface from the Generator interface, et. al.
>> Upgrading to Fortress or the CVS version of ECM, and then removing
>> the Component interface from the core interfaces should give you
>> the piece of mind that everything should compile and run.
>> Try it as an experiment. 
> I'm planning to. Really. When fortress is "ready" - or, better one - 
> when beta release is due?
> But do not complain when it breaks compilation of your favorite client's 
> code ;-)

It *shouldn't*.

I have not had any problems to date.

To unsubscribe, e-mail:
For additional commands, email:

View raw message