package be.selckin.swu.repeater; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.repeater.RepeatingView; public abstract class SimpleItemRepeatingView<T> extends RepeatingView { private boolean visible; protected SimpleItemRepeatingView(String id, Iterable<T> items) { this(id, items, true); } protected SimpleItemRepeatingView(String id, Iterable<T> items, boolean hideWhenEmpty) { super(id); visible = !hideWhenEmpty; for (T item : items) { visible = true; WebMarkupContainer container = newContainer(); newItem(container, item); add(container); } } private WebMarkupContainer newContainer() { return new WebMarkupContainer(newChildId()); } @Override public boolean isVisible() { return visible; } public abstract void newItem(WebMarkupContainer container, T item); }