JDK-8144585 : Encapsulate JavaFX impl_* implementation methods
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: other
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-12-03
  • Updated: 2017-04-13
  • Resolved: 2016-06-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b123Fixed
Related Reports
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Relates :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8178780 :  
Description
As part of the Jigsaw development all com.sun.* JavaFX packages will be encapsulate by virtue of the fact that these packages are not exported. However we still have many public and protected implementation methods in public classes of exported javafx.* packages that are visible.

Currently, these methods are all listed as deprecated and are hidden from javadoc with an "@treatAsPrivate" annotation. However, they are still publicly visible and applications could (and some do) rely on these implementation details.

We need to encapsulate these implementation methods as well.
Comments
Here is the follow on bug to provide access to FXMLLoader setStaticLoad method that is required by SceneBuilder: JDK-8159005
07-06-2016

Changeset: 6dbaef46f3d9 Author: ckyang Date: 2016-06-07 16:00 -0700 URL: http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/6dbaef46f3d9
07-06-2016

Please file a follow-on bug for SceneBuilder regarding its use of the FXMLLoader setStaticLoad method.
07-06-2016

+1
07-06-2016

+1
07-06-2016

@Vadim: Yes, I agreed. We should make this constant a private and there is no need to test it. Here is webrev.01: http://cr.openjdk.java.net/~ckyang/JDK-8144585/webrev.01/ and the delta between 00 and 01: http://cr.openjdk.java.net/~ckyang/JDK-8144585/webrev-00_01.diff/
07-06-2016

TextArea.DEFAULT_PARAGRAPH_CAPACITY is static so there's no need to pass TextArea to the TextAreaShim.getDefaultParagraphCapacity. Actually, I don't think there's much need in the test for this value, so probably it could be made private and test could be removed?
06-06-2016

http://cr.openjdk.java.net/~ckyang/JDK-8144585/webrev.00/ This is the proposed fix to make controls, fxml, media and web modules @treatAsPrivate clean. I have verified that this webrev passed dev-build-full and run-subset on Linux running in JIGSAW mode.
04-06-2016