package bluej.utility.javafx.binding;

import java.util.stream.Stream;

import javafx.collections.ObservableList;


| Binds a destination list to the concatenation of an observable list of observable lists. | public class ConcatListBinding<T> extends DeepListBinding<T>{ private final ObservableList<ObservableList<? extends T>> src; public static void bind(ObservableList<T> dest, ObservableList<ObservableList<? extends T>> src) { new ConcatListBinding<>(dest, src).startListening(); } private ConcatListBinding(ObservableList<T> dest, ObservableList<ObservableList<? extends T>> src) { super(dest); this.src = src; } @Override protected Stream> getListenTargets() { return Stream.concat(Stream.of((ObservableList<?>)src), src.stream()); } @Override protected Stream calculateValues() { return src.stream().flatMap(ObservableList::stream); } }

.   bind
.   ConcatListBinding
.   getListenTargets
.   calculateValues




38 neLoCode + 1 LoComm