RFR: 8290040: Provide simplified deterministic way to manage listeners [v6]

John Hendrikx jhendrikx at openjdk.org
Fri Oct 14 21:07:05 UTC 2022


On Fri, 14 Oct 2022 18:35:26 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>> John Hendrikx has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains ten commits:
>> 
>>  - Merge remote-tracking branch 'origin/master' into
>>    feature/conditional-bindings
>>    
>>    # Conflicts:
>>    #	modules/javafx.base/src/test/java/test/javafx/beans/value/LazyObjectBindingTest.java
>>  - Fix review comments
>>  - Add missing new line
>>  - Small wording fixes
>>  - Update javadoc of "when" with better phrasing
>>  - Rename showing property to shown as it is already used in subclasses
>>  - Add conditional bindings to ObservableValue
>>  - Change explanatory comment to block comment
>>  - Fix bug where ObjectBinding returns null when revalidated immediately
>>    
>>    Introduced with the fluent bindings PR
>
> modules/javafx.base/src/test/java/test/javafx/beans/value/ObservableValueFluentBindingsTest.java line 1162:
> 
>> 1160:                 }
>> 1161:             }
>> 1162:         }
> 
> Is it possible to add the scenario that simulates configurations you so beautifully illustrated in the comments in this PR?  For example, simulate the removal of the "Skin" (without involving a real Skin implementation, just re-create the classes and properties in the same configuration)?

You mean something like calling `setSkin` on a `Button` in a loop with a new skin that uses this form of listener management?  And seeing if the old skin instances don't stick around?

I suppose I could make a copy of one of the smaller skins, tweak it to use `when` and then testing this. Is that what you'd be looking for?

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

PR: https://git.openjdk.org/jfx/pull/830


More information about the openjfx-dev mailing list