Frank Schönheit - Sun Microsystems Germany wrote:

> Hi Thomas,
> 
>> *Description*
>> -------------
>> The com::sun::star::sheet::FilterOperator2 constants extend the
>> com::sun::star::sheet::FilterOperator enum
> 
> Since we recently reached an agreement that incompatible UNO API changes
> are not bad by definition (but only if done improperly), wouldn't this
> be a good chance to stress this new freedom, and extend the
> FilterOperator enum, instead of this somewhat strange construct of
> extending the /enum/ with a /constants group/ FilterOperator2?

To my knowledge we still didn't agree on doing incompatible changes
before 4.0.

BTW: while changing enums currently is impossible without getting bitten
by our API compatibility watch dog, IIRC it tolerates extensions of
constant groups. Please correct me if I'm wrong. But in practice,
constant groups and enums are equally prone to compatibility problems.
If code is confronted with an unknown constant - in the firm belief that
this can't happen as it wasn't specified at the time when the code was
written - bad things can happen.

Wouldn't it make sense to specify that constant groups are extensible
per se, so that each code dealing with them must be able to handle
unknown values? Perhaps with giving hints or specifying how unknown
values of a particular group should be treated?

So constant groups could be changed at any time with good confidence,
without considering this to be "incompatible". Without this explicit
declaration adding constants to groups actually is incompatible, though
we didn't AFAIK consider it to be so when we already added numerous
constants to several groups.

Regards,
Mathias

-- 
Mathias Bauer (mba) - Project Lead OpenOffice.org Writer
OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
Please don't reply to "[email protected]".
I use it for the OOo lists and only rarely read other mails sent to it.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to