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:00:37 GMT
Vadim Gritsenko wrote:
> Berin Loritsch wrote:
>> Vadim Gritsenko wrote:
>> > Berin Loritsch wrote:
>> >
>> >> #3 We can safely remove the Component interface (the source for most
>> >>    deprecation warnings).
>> >
>> >
>> > I'm trying to be cautious about removing it from public well-known 
>> interfaces. Users are writing code with assumption that they won't 
>> change, but once you remove Component interface from, say, Generator, 
>> it means user's code won't compile anymore without change.
>> What do you mean it won't compile anymore without change?
> Berin,
> Please see example sent in response to Ken's question:
> Generator g;
> Component c = g;
> This *will* fail to compile.

Of course if it was written explicitly like a good programmer should,
it would compile:

Generator g = // ... lookup of Generator
Comonent c = (Component) g;

However, when would this ever happen?  Who ever goes from an interface
with methods to one without methods?  This only seems to be an accademic
issue, and not a real world code example.

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.

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

View raw message