T
- type of choice objectpublic abstract class ChoiceProvider<T> extends Object implements 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
.
Constructor and Description |
---|
ChoiceProvider() |
Modifier and Type | Method and Description |
---|---|
void |
detach() |
abstract void |
query(String term,
int page,
Response<T> response)
Queries application for choices that match the search
term and adds them to the response |
abstract Collection<T> |
toChoices(Collection<String> ids)
Converts a list of choice ids back into application's choice objects.
|
abstract void |
toJson(T choice,
org.apache.wicket.ajax.json.JSONWriter writer)
Converts the specified choice to Json.
|
public abstract 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 optionspublic abstract void 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
public abstract 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 idspublic void detach()
detach
in interface org.apache.wicket.model.IDetachable
Copyright © 2015. All rights reserved.