<i18n dev> RFR: JDK-8316435: sun.util.calendar.CalendarSystem subclassing should be restricted [v4]

Justin Lu jlu at openjdk.org
Tue Sep 19 21:24:24 UTC 2023


> 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.

Justin Lu has updated the pull request incrementally with one additional commit since the last revision:

  Use pattern matching instanceof in equals for IGD

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15803/files
  - new: https://git.openjdk.org/jdk/pull/15803/files/f8698724..790f7506

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15803&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15803&range=02-03

  Stats: 4 lines in 1 file changed: 2 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/15803.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15803/head:pull/15803

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


More information about the i18n-dev mailing list