@SuppressWarnings("unchecked") public LoaderAdapter(CollectionContainer container, @Nullable BaseCollectionLoader loader) { this.container = container; this.loader = loader; containerCollectionChangeListener = e -> { samePage = CollectionChangeType.REFRESH != e.getChangeType(); onCollectionChanged(); }; weakContainerCollectionChangeListener = new com.haulmont.cuba.gui.model.impl.WeakCollectionChangeListener ( container, containerCollectionChangeListener); onCollectionChanged(); }
protected void fireCollectionChanged(CollectionChangeType type, Collection<? extends E> changes) { if (!listenersEnabled) { return; } CollectionChangeEvent<E> collectionChangeEvent = new CollectionChangeEvent<>(this, type, changes); log.trace("collectionChanged: {}", collectionChangeEvent); events.publish(CollectionChangeEvent.class, collectionChangeEvent); }
public ContainerDataProvider(CollectionContainer dataContainer) { this.dataContainer = dataContainer; collectionChangeListener = e -> { DataChangeOperation operation = null; switch (e.getChangeType()) { case REFRESH: operation = DataChangeOperation.REFRESH; break; case SET_ITEM: operation = DataChangeOperation.UPDATE; break; case ADD_ITEMS: operation = DataChangeOperation.ADD; break; case REMOVE_ITEMS: operation = DataChangeOperation.REMOVE; break; } fireCollectionChangeListener(operation, e.getChanges()); }; //noinspection unchecked this.dataContainer.addCollectionChangeListener(collectionChangeListener); }