<i18n dev> Integrated: JDK-8316435: sun.util.calendar.CalendarSystem subclassing should be restricted

Justin Lu jlu at openjdk.org
Thu Sep 21 21:34:22 UTC 2023


On Mon, 18 Sep 2023 22:42:09 GMT, Justin Lu <jlu at openjdk.org> wrote:

> Please review this PR which restricts sub-classing of the internal calendar system in sun.util.calendar to only the existing implementations. Drive by cleanup included.
> 
> As the implementation is long-standing and complete with no intent for future sub-classing, the CalendarSystem should be made sealed. Modifiers adjusted accordingly (`JulianCalendar.Date` must now have package visibility).
> 
> 
> This system has the following structure,
> 
> `CalendarSystem` extended by `AbstractCalendar` extended by `BaseCalendar` extended by 
> (`Gregorian, JulianCalendar, LocalGregorianCalendar`)
> 
> `CalendarDate` extended by `BaseCalendar.Date` extended by 
> (`Gregorian.Date, ImmutableGregorianDate, JulianCalendar.Date, LocalGregorianCalendar.Date`)
> 
> Additionally, CalendarUtils was made `final`, as it is a utility class composed of static util methods.

This pull request has now been integrated.

Changeset: 496264c1
Author:    Justin Lu <jlu at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/496264c1f98d313f3df19f919b54c98fc03d88f7
Stats:     149 lines in 9 files changed: 101 ins; 7 del; 41 mod

8316435: sun.util.calendar.CalendarSystem subclassing should be restricted

Reviewed-by: naoto

-------------

PR: https://git.openjdk.org/jdk/pull/15803


More information about the i18n-dev mailing list