On Sun, 12 Apr 2026 23:55:33 GMT, Charlie Schlosser <[email protected]> wrote:

>> modules/javafx.controls/src/main/java/javafx/scene/control/TreeUtil.java 
>> line 162:
>> 
>>> 160:      */
>>> 161:     static <T> Iterable<TreeItem<T>> getItems(TreeItem<T> root) {
>>> 162:         return () -> new Iterator<>() {
>> 
>> Does it make sense to return `Iterator` directly - or do we have any 
>> advantage with `Iterable` (given that we always call `iterator()` directly)
>
> I decided on `Iterable` because it implies a collection of objects, whereas 
> `Iterator` implies a position within that collection. Doesn't matter either 
> way. 
> 
> You are correct that the only current use is to create a stateful iterator, 
> but it could convenient to do something like `for(TreeItem item : 
> TreeUtil.getItems(root))`, or starting a search at some other node 
> `for(TreeItem item : TreeUtil.getItems(child))`.

That makes sense.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/2142#discussion_r3072780705

Reply via email to