1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.ui.commons.markup.html.form;
20
21 import java.util.List;
22 import org.apache.wicket.markup.html.form.IChoiceRenderer;
23 import org.apache.wicket.model.IModel;
24
25 public class SelectChoiceRenderer<T> implements IChoiceRenderer<T> {
26
27 private static final long serialVersionUID = -3242441544405909243L;
28
29 @Override
30 public Object getDisplayValue(final T obj) {
31 if (obj instanceof SelectOption) {
32 return ((SelectOption) obj).getDisplayValue();
33 } else {
34 return obj.toString();
35 }
36 }
37
38 @Override
39 public String getIdValue(final T obj, final int i) {
40 return obj.toString();
41 }
42
43 @Override
44 public T getObject(final String id, final IModel<? extends List<? extends T>> choices) {
45 return choices.getObject().stream().
46 filter(object -> id != null && id.equals(getIdValue(object, 0))).
47 findAny().orElse(null);
48 }
49 }