@SuppressWarnings("unchecked") @Override public void collectionChanged(CollectionDatasource.CollectionChangeEvent e) { CollectionChangeListener collectionChangeListener = reference.get(); if (collectionChangeListener != null) { collectionChangeListener.collectionChanged(e); } else { collectionDatasource.removeCollectionChangeListener(this); } } }
@SuppressWarnings("unchecked") @Override public void collectionChanged(CollectionDatasource.CollectionChangeEvent e) { CollectionDatasource.CollectionChangeListener collectionChangeListener = collectionChangeListenerReference.get(); if (collectionChangeListener != null) { collectionChangeListener.collectionChanged(e); } else { collectionDatasource.removeCollectionChangeListener(this); } }
@SuppressWarnings("unchecked") @Override public void unbind() { datasource.removeCollectionChangeListener(collectionChangeListener); datasource.removeItemPropertyChangeListener(itemPropertyChangeListener); } }
@SuppressWarnings("unchecked") public void unbind(CollectionDatasource ds) { ds.removeItemChangeListener(weakItemChangeListener); weakItemChangeListener = null; ds.removeItemPropertyChangeListener(weakItemPropertyChangeListener); weakItemPropertyChangeListener = null; ds.removeStateChangeListener(weakStateChangeListener); weakStateChangeListener = null; ds.removeCollectionChangeListener(weakCollectionChangeListener); weakCollectionChangeListener = null; } }