package lt.inventi.wicket.component.enums;
import org.apache.wicket.markup.html.form.CheckBoxMultipleChoice;
import org.apache.wicket.markup.html.form.EnumChoiceRenderer;
import org.apache.wicket.model.IModel;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;
public class EnumCheckBoxMultipleChoice extends CheckBoxMultipleChoice<Enum<?>> {
@SuppressWarnings({ "rawtypes", "unchecked" })
public EnumCheckBoxMultipleChoice(String id, Class<? extends Enum<?>> enumClass) {
this(id, EnumSet.allOf((Class) enumClass));
}
public EnumCheckBoxMultipleChoice(String id, Enum<?>[] choices) {
this(id, Arrays.asList(choices));
}
public EnumCheckBoxMultipleChoice(String id, Set<Enum<?>> choices) {
this(id, new ArrayList<Enum<?>>(choices));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public EnumCheckBoxMultipleChoice(String id, List<Enum<?>> choices) {
super(id, choices);
setChoiceRenderer(new EnumChoiceRenderer(this));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public EnumCheckBoxMultipleChoice(String id, IModel<? extends List<Enum<?>>> choices) {
super(id, choices);
setChoiceRenderer(new EnumChoiceRenderer(this));
}
}