RFR: JDK-8304439: Subscription based listeners [v2]
John Hendrikx
jhendrikx at openjdk.org
Wed Jun 28 15:10:19 UTC 2023
On Wed, 28 Jun 2023 15:02:22 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>> I prefer `subscribe` with overloads, as this comes closest to the existing naming scheme of JavaFX listener operations (`addListener` / `removeListener` with overloads).
>>
>> I would also like to see a subscription-style API that works with the existing listener types. This has the advantage of not needing a wrapper for each listener registration, and it can be a drop-in replacement in many places where JavaFX listeners are used today.
>>
>> My suggestion is to have the following new operations:
>> * `subscribe` (`Runnable`, `Consumer`, `BiConsumer`)
>> * `subscribeListener` (`InvalidationListener`, `ChangeListener`)
>>
>> This pairs nicely with the existing operations:
>> * `addListener` (`InvalidationListener`, `ChangeListener`)
>> * `removeListener` (`InvalidationListener`, `ChangeListener`)
>
>> My suggestion is to have the following new operations:
>>
>> * `subscribe` (`Runnable`, `Consumer`, `BiConsumer`)
>
> This seems reasonable. I could be talked into the longer names, but I prefer the overloaded `subscribe` name.
>
>> * `subscribeListener` (`InvalidationListener`, `ChangeListener`)
>
> This might be a useful follow-on Enhancement, but I wouldn't do it as part of this one.
I prefer short names here as often there will be a lambda or method reference following it that makes it clear what you're doing, so I guess that's a vote for `subscribe` plus overrides then.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1069#discussion_r1245374847
More information about the openjfx-dev
mailing list