On Wed, 5 Jan 2022 09:52:29 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:

>> modules/javafx.base/src/main/java/javafx/beans/binding/ObjectBinding.java 
>> line 204:
>> 
>>> 202:      *
>>> 203:      * @return {@code true} if this binding is allowed to become 
>>> valid, otherwise
>>> 204:      *     {@code false}
>> 
>> Typo: overriden -> overridden
>> 
>> I would add a a first-sentence summary and an explanation as to why a 
>> binding would not allow it. I would write something like
>> 
>> Checks if the binding is allowed to become valid. Overriding classes can 
>> prevent a binding from becoming
>> valid. This is useful when ____.
>> <p>
>> The default implementation always allows bindings to become valid.
>
> I've made your suggested changes and added this explanation: "This is useful 
> in subclasses which do not always listen for invalidations of their 
> dependencies and prefer to recompute the current value instead. This can also 
> be useful if caching of the current computed value is not desirable."
> 
> Furthermore, I noticed I forgot to make the code changes that prevent caching 
> of the value when the binding is invalid -- bindings currently cache their 
> value even when invalid, which could lead to situations where something is 
> still being referenced in an invalid binding that should have been GC'd.

Something like that was previously discussed in 
https://github.com/javafxports/openjdk-jfx/pull/110.

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

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

Reply via email to