/* * Copyright (c) 2002-2015, JIDE Software Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ package jidefx.utils; import javafx.beans.InvalidationListener; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; import javafx.collections.transformation.SortedList; import java.util.Collection; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.Spliterator; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.UnaryOperator; import java.util.stream.Stream; /** * An {@code ObservableList} that delegates all of its calls to another {@code ObservableList}. */ public class DelegatingObservableList<E> implements ObservableList<E> { private final ObservableList<E> delegate; public DelegatingObservableList(ObservableList<E> delegate) { this.delegate = delegate; } protected ObservableList<E> getDelegate() { return delegate; } @Override public void addListener(ListChangeListener<? super E> listener) { delegate.addListener(listener); } @Override public void removeListener(ListChangeListener<? super E> listener) { delegate.removeListener(listener); } @Override public boolean addAll(E... elements) { return delegate.addAll(elements); } @Override public boolean setAll(E... elements) { return delegate.setAll(elements); } @Override public boolean setAll(Collection<? extends E> col) { return delegate.setAll(col); } @Override public boolean removeAll(E... elements) { return delegate.removeAll(elements); } @Override public boolean retainAll(E... elements) { return delegate.retainAll(elements); } @Override public void remove(int from, int to) { delegate.remove(from, to); } @Override public FilteredList<E> filtered(Predicate<E> predicate) { return delegate.filtered(predicate); } @Override public SortedList<E> sorted(Comparator<E> comparator) { return delegate.sorted(comparator); } @Override public SortedList<E> sorted() { return delegate.sorted(); } @Override public int size() { return delegate.size(); } @Override public boolean isEmpty() { return delegate.isEmpty(); } @Override public boolean contains(Object o) { return delegate.contains(o); } @Override public Iterator<E> iterator() { return delegate.iterator(); } @Override public Object[] toArray() { return delegate.toArray(); } @Override public <T> T[] toArray(T[] a) { return delegate.toArray(a); } @Override public boolean add(E e) { return delegate.add(e); } @Override public boolean remove(Object o) { return delegate.remove(o); } @Override public boolean containsAll(Collection<?> c) { return delegate.containsAll(c); } @Override public boolean addAll(Collection<? extends E> c) { return delegate.addAll(c); } @Override public boolean addAll(int index, Collection<? extends E> c) { return delegate.addAll(index, c); } @Override public boolean removeAll(Collection<?> c) { return delegate.removeAll(c); } @Override public boolean retainAll(Collection<?> c) { return delegate.retainAll(c); } @Override public void replaceAll(UnaryOperator<E> operator) { delegate.replaceAll(operator); } @Override public void sort(Comparator<? super E> c) { delegate.sort(c); } @Override public void clear() { delegate.clear(); } @Override public boolean equals(Object o) { return delegate.equals(o); } @Override public int hashCode() { return delegate.hashCode(); } @Override public E get(int index) { return delegate.get(index); } @Override public E set(int index, E element) { return delegate.set(index, element); } @Override public void add(int index, E element) { delegate.add(index, element); } @Override public E remove(int index) { return delegate.remove(index); } @Override public int indexOf(Object o) { return delegate.indexOf(o); } @Override public int lastIndexOf(Object o) { return delegate.lastIndexOf(o); } @Override public ListIterator<E> listIterator() { return delegate.listIterator(); } @Override public ListIterator<E> listIterator(int index) { return delegate.listIterator(index); } @Override public List<E> subList(int fromIndex, int toIndex) { return delegate.subList(fromIndex, toIndex); } @Override public Spliterator<E> spliterator() { return delegate.spliterator(); } @Override public boolean removeIf(Predicate<? super E> filter) { return delegate.removeIf(filter); } @Override public Stream<E> stream() { return delegate.stream(); } @Override public Stream<E> parallelStream() { return delegate.parallelStream(); } @Override public void forEach(Consumer<? super E> action) { delegate.forEach(action); } @Override public void addListener(InvalidationListener listener) { delegate.addListener(listener); } @Override public void removeListener(InvalidationListener listener) { delegate.removeListener(listener); } }