RFR: JDK-8304959: Public API in javafx.css.Match should not return private API class PseudoClassState

Kevin Rushforth kcr at openjdk.org
Thu Mar 30 22:37:26 UTC 2023


On Mon, 27 Mar 2023 13:50:40 GMT, John Hendrikx <jhendrikx at openjdk.org> wrote:

> The class `PseudoClassState` is private API, but was exposed erroneously in the CSS API. Instead, `Set<PseudoClass>` should have been used. This PR corrects this.

I did leave one question that you might want to address before proposing the CSR.

modules/javafx.graphics/src/main/java/javafx/css/Match.java line 43:

> 41: 
> 42:     final Selector selector;
> 43:     final Set<PseudoClass> pseudoClasses;

Should this be an `ObservableSet`? Changing the type to the `Set` superclass will mean that applications would need to do an `instanceof` check to know whether it was observable or not?

modules/javafx.graphics/src/main/java/javafx/css/Match.java line 79:

> 77:      * @return the pseudo class state
> 78:      */
> 79:     public Set<PseudoClass> getPseudoClasses() {

Should this be an `ObservableSet`? Changing the type to the `Set` superclass will mean that applications would need to do an `instanceof` check to know whether it was observable or not?

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

PR Review: https://git.openjdk.org/jfx/pull/1070#pullrequestreview-1366022684
PR Review Comment: https://git.openjdk.org/jfx/pull/1070#discussion_r1153851418
PR Review Comment: https://git.openjdk.org/jfx/pull/1070#discussion_r1153852687


More information about the openjfx-dev mailing list