RFR: 8350920: Allow inherited member summaries to be viewed inline

Hannes Wallnöfer hannesw at openjdk.org
Mon Mar 10 15:46:52 UTC 2025


Please review an enhancement to allow switching between the traditional condensed footnote-style summary and the summary table format for inherited members (types, fields, methods and properties) that are inherited from included types. You can test the feature in [the doc bundle I uploaded][apidocs] or watch the short screencast below.

[apidocs]: https://cr.openjdk.org/~hannesw/8350920/api.00/java.base/module-summary.html

https://github.com/user-attachments/assets/0aaa1f8b-c18b-4922-b704-2b2cdc05ca79

I added two new protected methods to the `AbstractMemberWriter` class, `createInheritedSummaryTable` and `getInheritedSummaryId`. Otherwise this is mostly reusing existing functionality (we already had the feature to display the signature of an inherited method in the context of the current class).

The writers for non-inheritable members such as constructors or enum constants were simplified a bit by implementing formerly abstract methods in `AbstractMemberWriter` as concrete methods throwing `UnsupportedOperationException` so they don't have to be implemented as empty methods in these writers.

The UI to switch between member list presentations is implemented in `script.js.template`. If no summary list presentation is available (because the supertype is not part of the documentation bundle) nothing changes in the UI.

I added a `stripTags()` method to `Content` to return the plain text content with HTML tags stripped that could be used in a few other places. The patch also adds two new vector graphics files called right.svg and down.svg for the right and downwards pointing angle.

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

Commit messages:
 - Add svg files
 - 8350920: Allow inherited member summaries to be viewed inline

Changes: https://git.openjdk.org/jdk/pull/23967/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23967&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8350920
  Stats: 545 lines in 29 files changed: 430 ins; 55 del; 60 mod
  Patch: https://git.openjdk.org/jdk/pull/23967.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23967/head:pull/23967

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


More information about the javadoc-dev mailing list