package com.griddynamics.jagger.webclient.client.data;
import com.google.gwt.view.client.AsyncDataProvider;
import com.google.gwt.view.client.HasData;
import com.google.gwt.view.client.ProvidesKey;
/**
* @author "Artem Kirillov" (akirillov@griddynamics.com)
* @since 6/22/12
*/
public abstract class ExtendedAsyncDataProvider<T> extends AsyncDataProvider<T> {
protected ExtendedAsyncDataProvider() {
}
protected ExtendedAsyncDataProvider(ProvidesKey<T> keyProvider) {
super(keyProvider);
}
protected void update() {
for (HasData<T> display : getDataDisplays()) {
onRangeChanged(display);
}
}
public void addDataDisplayIfNotExists(final HasData<T> display) {
if (!getDataDisplays().contains(display)) {
addDataDisplay(display);
}
}
public void removeDataDisplayIfNotExists(final HasData<T> display) {
if (getDataDisplays().contains(display)) {
removeDataDisplay(display);
}
}
}