package be.selckin.swu.repeater;
import org.apache.wicket.Component;
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.model.IModel;
import java.util.Collection;
import java.util.List;
public abstract class SimpleRefreshingView<T> extends RepeatingView {
private IModel<? extends Collection<? extends T>> model;
protected SimpleRefreshingView(String id, IModel<? extends Collection<? extends T>> model) {
super(id, model);
this.model = model;
}
@Override
protected void onBeforeRender() {
super.onBeforeRender();
removeAll();
for (T item : model.getObject())
add(create(newChildId(), item));
}
@Override
public boolean isVisible() {
return model.getObject() != null && !model.getObject().isEmpty();
}
protected abstract Component create(String id, T item);
}