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