RFR: 8273581: Change the mechanism by which JDK loads the platform-specific FontManager class [v6]

Alexander Scherbatiy alexsch at openjdk.java.net
Mon Sep 20 11:26:13 UTC 2021


> FontManagerFactory class uses reflection to load platform specific FontManager classes from "sun.font.fontmanager" property.
> 
> Fix proposes creating FontManager platform specific classes directly in the similar way as it has been already done for GraphicsEnvironment and AWT Toolkit ([JDK-8130266](https://bugs.openjdk.java.net/browse/JDK-8130266) and [JDK-8212700](https://bugs.openjdk.java.net/browse/JDK-8212700)).
> 
> FontManager is internal jdk class. It is placed in `sun.font` package and java modularization encapsulates  FontManager from subclassing and using by a user.
> 
> The fix reuses PlatformGraphicsInfo to create FontManager platform specific classes. May be FontManager creation code needs to be placed in its own info classes.

Alexander Scherbatiy has updated the pull request incrementally with two additional commits since the last revision:

 - Use Double-check idiom for lazy initialization of instance fields with local variable
 - Remove unnecessary explicit initialization of volatile variable

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5517/files
  - new: https://git.openjdk.java.net/jdk/pull/5517/files/91109b34..d965a1bc

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5517&range=05
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5517&range=04-05

  Stats: 7 lines in 1 file changed: 2 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5517.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5517/head:pull/5517

PR: https://git.openjdk.java.net/jdk/pull/5517



More information about the client-libs-dev mailing list