package fr.openwide.core.wicket.markup.html.form;
import java.util.Collection;
import org.apache.wicket.model.IModel;
import com.google.common.base.Supplier;
import fr.openwide.core.wicket.markup.html.form.CheckGroup;
/**
* A {@link CheckGroup} that allows the use of its constructor to instantiate anonymous classes, on contrary to {@link CheckGroup}
* with its generic {@link CheckGroup#CheckGroup(String, IModel, Supplier)} constructor.
* <p>This class is a technical workaround for what seems to be a bug (or at least a design flaw) in
* the javac compilator, which doesn't allow instantiation of anonymous classes using a generic constructor in
* a generic class.
*
* @see CheckGroup#CheckGroup(String, IModel, Supplier)
*/
public abstract class InlineOverridableCheckGroup<T, C extends Collection<T>> extends CheckGroup<T> {
private static final long serialVersionUID = -4650865960701373800L;
public InlineOverridableCheckGroup(String id, IModel<C> model, Supplier<? extends C> collectionSupplier) {
super(id, model, collectionSupplier);
}
}