package fr.openwide.core.wicket.more.markup.html.select2; import java.util.List; import org.apache.wicket.injection.Injector; import org.apache.wicket.markup.html.form.IChoiceRenderer; import org.retzlaff.select2.ISelect2AjaxAdapter; public abstract class AbstractChoiceRendererSelect2AjaxAdapter<T> implements ISelect2AjaxAdapter<T> { private static final long serialVersionUID = -4654743240914954744L; protected final IChoiceRenderer<? super T> choiceRenderer; public AbstractChoiceRendererSelect2AjaxAdapter(IChoiceRenderer<? super T> choiceRenderer) { Injector.get().inject(this); this.choiceRenderer = choiceRenderer; } @Override public abstract T getChoice(String id); @Override public abstract List<T> getChoices(int start, int count, String filter); @Override public String getChoiceId(T object) { return choiceRenderer.getIdValue(object, 0 /* unused */); } @Override public Object getDisplayValue(T object) { return choiceRenderer.getDisplayValue(object); } }