PROPOSAL: make GregorianCalendar API conform to Calendar

"Steven R. Loomis" <[email protected]> Fri, 20 Feb 2004 17:40:02 -0800
Newsgroups gmane.comp.lib.icu.general
Message-ID <[email protected]>
Proposal - expires 25-Feb-2004

http://www.jtcsv.com/cgibin/icu-bugs?findid=3016

Affects:  C++ only

Problem:

Calendar has:

    @deprecated
    Calendar::getActualMinimum(EDateField , UErrorCode& )

    @draft 2.6
    Calendar::getActualMinimum(UCalendarDateFields, UErrorCode& )

So far so good. But GregorianCalendar had, accidentally:

    @deprecated
    GregorianCalendar::getActualMinimum(EDateField)

    @draft 2.6
    GregorianCalendar::getActualMinimum(UCalendarDateFields)


This is very bad, because the subclass is hiding the parent class
signature.

I propose to:
  1. add a UErrorCode& field to the draft
     GregorianCalendar::getActualMinimum(UCalendarDateFields)

     Impact: users calling GregorianCalendar directly will have to add a
      status.  (Should be using the base class interface, anyway).

  2. Add a new, deprecated function getActualMinimum(EDateField,
       UErrorCode&) which will prevent the method hiding.
     Impact: none.   Function will be removed whenever
     getActualMinimum(EDateField) is removed.