JDK-8214322 : Change the mechanism by which JDK loads the platform-specific PrinterJob implementation
  • Type: CSR
  • Component: client-libs
  • Sub-Component: 2d
  • Priority: P4
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 12
  • Submitted: 2018-11-26
  • Updated: 2018-11-27
  • Resolved: 2018-11-27
Related Reports
CSR :  
Description
Summary
-------

Remove the java.awt.printerjob system property
Problem
-------
the java.awt.printerjob system property has been used
since at least JDK 1.2 to specify the concrete platform
implementation class for the abstract API class
java.awt.print.PrinterJob. This not only pollutes the system
property space, but implies that this is pluggable which it is not.
Nor was it ever considered a "standard" system property but
it used the "java" namespace.
Also the code that sets it is embedded into the launcher which
is also undesirable creating a cross-module dependency - if
we consider the launcher mainly a java.base thing.

Solution
--------

Remove the java.awt.printerjob system property
which is used to specify the name of the platform implementation
class for the abstract java.awt.print.PrinterJob class.
It is replaced by a mechanism entirely internal to the
java.desktop module.

Specification
-------------

Remove the java.awt.printerjob system property


Comments
Moving to Approved.
27-11-2018

BTW I thought about a RN but I don't think this is prominent enough
27-11-2018