public void fireEvent(ListenableCollection<T> source, Collection<T> elements, CollectionEvent.EventType type, int firstIndex, int lastIndex) { if (listeners == null || listeners.isEmpty() || elements.isEmpty()) return; CollectionEvent<T> event = new CollectionEvent<T>(source,elements,type, firstIndex, lastIndex); for (CollectionListener<T> listener : listeners) { listener.collectionChanged(event); } }
public void collectionChanged(CollectionEvent<T> e) { if (listeners != null && !listeners.isEmpty()) { Collection<T> filteredElements = e.getElements(); CollectionEvent<T> filteredEvent = new CollectionEvent<T>(FilteredListenableCollection.this, filteredElements, e.getType(), e.getFirstIndex(), e.getLastIndex()); for (CollectionListener<T> listener : listeners) { listener.collectionChanged(filteredEvent); } } } });