Proposal: removing the deprecated builders

Kevin Rushforth kevin.rushforth at oracle.com
Wed Jan 21 15:26:57 UTC 2015


As communicated previously [1] the JavaFX *Builder classes were 
deprecated in FX 8 with the intention of removing them in FX 9. A 
2.2-compatible set of *Builders classes was delivered with FX 8, 
containing no new classes or methods from any API added after FX 2.2. 
This set of classes is excluded from the API documentation to underscore 
the fact that it is no longer a formal part of the JavaFX API.

Now that work for the modular JDK is underway, we are preparing to 
modularize JavaFX. Part of this work will require us to either remove 
the builders or move the classes into the graphics and control modules 
-- we cannot deliver a separate builders module with the existing 
builders classes. The marginal value of continuing to carry these legacy 
builders classes, which cannot evolve compatibly to match any current or 
future API changes, isn't justified by the cost. As such, we plan to 
remove them from FX for JDK 9 [2]. Note that the base 
javafx.util.Builder class and javafx.util.BuilderFactory interface, as 
well as the fxml javafx.fxml.JavaFXBuilderFactory class, will remain 
part of the API. It is only the deprecated (and undocumented) *Builder 
classes that correspond to the various scene graph objects that will be 
removed -- everything currently in the modules/builders directory tree.

We will explore ways to make them available to applications that still 
want to use them, but it will not be possible to do it in a binary 
compatible manner -- they will need to move to a new package to avoid 
the split package problem, possibly in a com.oracle namespace. Most 
likely we will just provide a sample with source code.

-- Kevin

[1] 
http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-March/006725.html
[2] https://javafx-jira.kenai.com/browse/RT-39785



More information about the openjfx-dev mailing list