package fr.openwide.core.wicket.more.console.common.component; import java.util.Collection; import java.util.List; import java.util.Set; import org.apache.wicket.markup.html.form.ChoiceRenderer; import org.apache.wicket.markup.html.form.ListMultipleChoice; import org.apache.wicket.model.IModel; import com.google.common.collect.Lists; public class JavaClassesListMultipleChoice extends ListMultipleChoice<Class<?>> { private static final long serialVersionUID = 1921653943974992253L; private static final JavaClassChoiceRenderer JAVA_CLASS_CHOICE_RENDERER = new JavaClassChoiceRenderer(); public JavaClassesListMultipleChoice(String id, IModel<? extends Collection<Class<?>>> classListModel, Set<? extends Class<?>> choicesModel) { this(id, classListModel, Lists.newArrayList(choicesModel)); } public JavaClassesListMultipleChoice(String id, IModel<? extends Collection<Class<?>>> classListModel, List<? extends Class<?>> choicesModel) { super(id, classListModel, choicesModel, JAVA_CLASS_CHOICE_RENDERER); } private static class JavaClassChoiceRenderer extends ChoiceRenderer<Class<?>> { private static final long serialVersionUID = 1L; @Override public Object getDisplayValue(Class<?> clazz) { return clazz != null ? clazz.getSimpleName() : ""; } @Override public String getIdValue(Class<?> clazz, int index) { return clazz != null ? String.valueOf(index) : "-1"; } } }