[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-openjfx-dev
Subject: Re: RFR: 8258777: SkinBase: add api to un-/register invalidation-/listChange listeners [v2]
From: Kevin Rushforth <kcr () openjdk ! java ! net>
Date: 2021-03-30 19:54:13
Message-ID: 27_EOvST9gK-UUEFu927mhSWZChYJWaSIbuJJHy_n5I=.cd1547bb-39f2-476c-a995-52d90a683b41 () github ! com
[Download RAW message or body]
On Mon, 29 Mar 2021 15:39:58 GMT, Jeanette Winzenburg <fastegal@openjdk.org> wrote:
> > modules/javafx.controls/src/main/java/javafx/scene/control/SkinBase.java line \
> > 268:
> > > 266: *
> > > 267: * @param observable The observable for which all listeners should be \
> > > removed.
> > > 268: * @return A single chained {@link Consumer} consisting of all {@link \
> > > Consumer consumers} registered through
> >
> > 1. There's no need for a `@link` on a class that is in the arguments or return of \
> > the method since they are linked there anyway, and it is recommended to use \
> > `@link` only the first time the class appears.
> > 2. You might want to clarify that by "chained" you mean that they were composed \
> > using `Consumer#andThen`, either using `@plainlink` on "chained", or explicitly \
> > by "chained using Consumer#andThen`. Then again, it might be obvious.
>
> - kept only the link to the registerXX method (to clarify the scope of the removal)
> - replaced "chained" by "composed"
> - concentrated on what that composed consumer does (performs all removed \
> operations)
> Not entirely certain whether it's clear enough now
>
> - should the description have an additional sentence `Returns a composed \
> [same-as-in-returns]` Undecided.
> - should the `same-as-in-returns` contain the specification of the sequence of \
> performing (from the register method)? Tend to no (because it's getting too long), \
> but then ..
I haven't gone back and done a detailed review yet, but I like the overall changes. \
The one thing I did notice is that the language used to describe the return value of \
`unregisterInvalidationListeners` and `unregisterListChangeListeners` is different:
unregisterInvalidationListeners:
* @return a composed consumer that performs all removed operations, or
* {@code null} if none have been registered or the observable is {@code null}
unregisterListChangeListeners:
* @return A single chained {@link Consumer} consisting of all {@link Consumer \
consumers} registered through
* {@link #registerListChangeListener(ObservableList, Consumer)}. If no \
consumers have been registered on this
* list, null will be returned.
I find it confusing to say that the returned list "performs all removed operations", \
so I like the language in the latter method better. Some might interpret the former \
to mean that is is somehow necessary to call the returned chained consumer as part of \
the removal, which isn't what you meant to say.
-------------
PR: https://git.openjdk.java.net/jfx/pull/409
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic