On Fri, 21 Feb 2025 19:01:03 GMT, Nir Lisker <nlis...@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