RFR: 8258777: SkinBase: add api to un-/register invalidation-/listChange listeners [v9]

Kevin Rushforth kcr at openjdk.java.net
Thu Apr 15 12:33:45 UTC 2021


On Mon, 12 Apr 2021 14:45:58 GMT, Jeanette Winzenburg <fastegal at openjdk.org> wrote:

>> Changes in Lambda..Handler:
>> - added api and implemenation to support invalidation and listChange listeners in the same way as changeListeners
>> - added java doc 
>> - added tests
>> 
>> Changes in SkinBase
>> - added api (and implementation delegating to the handler)
>> - copied java doc from the change listener un/register methods 
>> - added tests to verify that the new (and old) api is indeed delegating to the handler
>> 
>> Note that the null handling is slightly extended: all methods now can handle both null consumers (as before) and null observables (new) - this allows simplified code on rewiring "path" properties (see reference example in the issue)
>
> Jeanette Winzenburg has updated the pull request incrementally with one additional commit since the last revision:
> 
>   changed description as suggested in review

I finished reviewing the API changes, and it all looks good. I noted a follow-up bug that I need to file.

I'll review the CSR (to make sure it matches exactly the latest API docs in the code) in parallel with reviewing the implementation.

modules/javafx.controls/src/main/java/javafx/scene/control/SkinBase.java line 219:

> 217:      * @param observable the observable to observe for change events, may be {@code null}
> 218:      * @param operation the operation to perform when the observable sends a change event,
> 219:      *  may be {@code null}

This method is missing the `@since 9` javadoc tag. This is a preexisting bug; this method was missed when [JDK-8135312](https://bugs.openjdk.java.net/browse/JDK-8135312) was fixed. It's tempting to fold it into this RFE, since you are rewriting the API docs for this method, but I'll file a separate bug instead.

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

PR: https://git.openjdk.java.net/jfx/pull/409


More information about the openjfx-dev mailing list