RFR: 8290310: ChangeListener events are incorrect or misleading when a nested change occurs [v5]
John Hendrikx
jhendrikx at openjdk.org
Fri Feb 21 21:45:04 UTC 2025
On Fri, 21 Feb 2025 19:01:03 GMT, Nir Lisker <nlisker at openjdk.org> wrote:
>> John Hendrikx has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fix fix for regression :)
>
> modules/javafx.base/src/main/java/com/sun/javafx/binding/ListenerManagerBase.java line 41:
>
>> 39: * @param <I> the type of the instance providing listener data
>> 40: */
>> 41: public abstract class ListenerManagerBase<T, I extends ObservableValue<? extends T>> {
>
> Is this a class and not an interface because of the need for `protected` methods?
I think I extracted this when I discovered that I needed two implementations (caching one and one that doesn't need caching, to save more memory).
Looking at it now (over a year later) I suppose it could also be an interface. There is no risk that any of this gets exposed as the property classes will all create a private class to implement the abstract methods.
It can be changed at any time as it is internal. If we want to make it an interface, I'm going to need to think of a good name for it (`ListenerDataProvider`, `ListenerDataStore`, ... )
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1081#discussion_r1966230774
More information about the openjfx-dev
mailing list