On Sun, 9 Jul 2023 20:11:06 GMT, Michael Strauß <mstra...@openjdk.org> wrote:

>> John Hendrikx has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Add newline at end of ConditionalBinding file
>
> modules/javafx.base/src/main/java/javafx/beans/Observable.java line 99:
> 
>> 97:     /**
>> 98:      * Creates a {@link Subscription} on this value which calls the given
>> 99:      * {@code runnable} whenever it becomes invalid.
> 
> I think the documentation for these new methods should go into more detail 
> and clearly explain the semantics. These are fundamental concepts, and I 
> think it's a good idea to err on the side of over-explaining. Here's a 
> suggestion:
> 
> 
> Creates a {@code Subscription} for invalidation events of this {@code 
> Observable}.
> <p>
> The specified {@code runnable} will be invoked when the {@code Observable} 
> transitions to the
> <em>invalid</em> state. This happens when the observed value is changed, 
> usually by calling
> the {@link ObservableValue#setValue} method. Note that the specified {@code 
> runnable} will not
> be invoked for subsequent value changes unless the {@code Observable} has 
> transitioned to the
> <em>valid</em> state again, usually by invoking the {@link 
> ObservableValue#getValue} method.
> <p>
> An {@code Observable} is automatically validated on every change when a 
> {@link ChangeListener}
> or a {@link Consumer} or {@link BiConsumer} subscription is added.

Sure, that's a good suggestion, I may have been overly brief to avoid repeating 
what is known for invalidation listeners, but as this method does not mention 
invalidation listeners (and only uses them internally for now) a full 
explanation would be good to add.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1069#discussion_r1257543571

Reply via email to