+ return contact.get(getSelectedIndex());
+ }
+
+ @Override
+ public String getQuestion() {
+ Data data = getData();
+ if (data != null) {
+ return data.getName();
+ }
+
+ return null;
+ }
+
+ @Override
+ public String getDefaultAnswer() {
+ Data data = getData();
+ if (data != null) {
+ return data.getValue();
+ }
+
+ return null;
+ }
+
+ @Override
+ public String callback(String answer) {
+ Data data = getData();
+ if (data != null) {
+ data.setValue(answer);
+ return null;
+ }
+
+ // TODO: i18n
+ return "Cannot modify value";