On Tue, 25 Oct 2022 20:54:55 GMT, Nir Lisker <nlis...@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.graphics/src/main/java/javafx/scene/Node.java line 1417:
> 
>> 1415:      * to be {@code true}.
>> 1416:      *
>> 1417:      * @defaultValue false
> 
> I don't think a default value is relevant. It can't be set and the node is 
> not responsible for its value. It's true, though, that by default, since the 
> node does not belong to a window, it's `false`, but I don't know how helpful 
> it is.

You're right, this is a copy/paste error.  Makes no sense for a read only 
property.  I will remove it.

> modules/javafx.graphics/src/main/java/javafx/scene/Node.java line 1426:
> 
>> 1424:         if (s == null) return false;
>> 1425:         Window w = s.getWindow();
>> 1426:         return w != null && w.isShowing();
> 
> Are you avoiding calling `get` on the property to avoid its initialization?

Yeah, I actually copied this pattern from an older method that has since been 
removed (`isWindowShowing`) in an effort to avoid initializing the property if 
all you're doing is calling its getter.  I personally don't mind either way, 
but as it seems `Node` goes through every effort to delay initialization, I 
followed that pattern.  It does duplicate the logic of the property which uses 
`flatMap`s to achieve the same.

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

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

Reply via email to