T
- type of choice objectpublic interface ChoiceProvider<T>
extends org.apache.wicket.model.IDetachable
Acts as a bridge between Select2 components and the application's domain model.
The two important services provided by implementations are:
For the most common usecase where each choice is rendered as a text string see
TextChoiceProvider
.
Modifier and Type | Method and Description |
---|---|
void |
query(String term,
int page,
Response<T> response)
Queries application for choices that match the search
term and adds them to the
response |
Collection<T> |
toChoices(Collection<String> ids)
Converts a list of choice ids back into application's choice objects.
|
void |
toJson(T choice,
org.apache.wicket.ajax.json.JSONWriter writer)
Converts the specified choice to Json.
|
void query(String term, int page, Response<T> response)
term
and adds them to the
response
term
- search termpage
- requested search term results pageresponse
- aggregate for matching choices as well as other response optionsvoid toJson(T choice, org.apache.wicket.ajax.json.JSONWriter writer) throws org.apache.wicket.ajax.json.JSONException
At the very least each choice should contain an id
attribute. If no custom rendering
function is specified, the text
attribute should also be provided
Example: If mapping a User {Long id, String name} using default rendering the code should look like this:
toJson(User choice, JSONWriter writer) { writer.key("id").value(choice.getId()).key("text").value(choice.getName()); }
choice
- choice to convertwriter
- Json writer that should be used to covnert the choiceorg.apache.wicket.ajax.json.JSONException
Collection<T> toChoices(Collection<String> ids)
ids
collection will contain
exactly one id, and a collection containing exactly one choice should be returned.ids
- collection containing choice idsCopyright © 2015. All rights reserved.