RFR: 8371066: Remove unused class TextSourceLabel and associated class hierarchy

Daniel Gredler dgredler at openjdk.org
Fri Oct 31 17:25:48 UTC 2025


The class `TextSourceLabel` is unused, as is the associated factory method `TextLabelFactory.createSimple(...)`.

The abstractions provided by the abstract classes `TextLabel` and `ExtendedTextLabel` only make sense when there are two types of text labels (`TextSourceLabel` and `ExtendedTextSourceLabel`). With the deletion of `TextSourceLabel`, both `TextLabel` and `ExtendedTextLabel` can also be removed.

The JavaDoc for the abstract methods in `TextLabel` and `ExtendedTextLabel`, which are implemented in `ExtendedTextSourceLabel`, was moved to `ExtendedTextSourceLabel` prior to the deletion of these two classes.

The few small convenience methods in `TextLabel` and `ExtendedTextLabel` were also moved to `ExtendedTextSourceLabel` prior to the deletion of these two classes.

I would have liked to give the combined `TextLabel` + `ExtendedTextLabel` + `ExtendedTextSourceLabel` class the name `TextLabel`, but I've used `ExtendedTextSourceLabel` instead because it makes the diff much smaller and maximizes code history traceability.

See initial mailing list discussion: https://mail.openjdk.org/pipermail/client-libs-dev/2025-September/032302.html

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

Commit messages:
 - Combine TextLabel + ExtendedTextLabel + ExtendedTextSourceLabel -> ExtendedTextSourceLabel
 - Delete unused class sun.font.TextSourceLabel

Changes: https://git.openjdk.org/jdk/pull/28090/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28090&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8371066
  Stats: 649 lines in 7 files changed: 137 ins; 480 del; 32 mod
  Patch: https://git.openjdk.org/jdk/pull/28090.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28090/head:pull/28090

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


More information about the client-libs-dev mailing list