я научился реализовывать свой собственный SuggestionOracle ("AuSuggestOracle") и собственные предложения ("AuMultiWordSuggestion"). В моем случае объект предложения создается с помощью DTO. В случае выбора мне нужно, чтобы этот dto (или некоторые его поля) реагировал соответствующим образом. Я реализовал виджет, содержащий 3 поля предложений с этим специальным оракулом и некоторой логикой между ними. Теперь я хочу применить шаблон MVP - разделить этот виджет в презентаторе и просмотреть. На данный момент интерфейс дисплея докладчика выглядит следующим образом:
public interface Display {
HasSelectionHandlers<Suggestion> getFedLand();
HasSelectionHandlers<Suggestion> getCounty();
HasSelectionHandlers<Suggestion> getCommunity();
AuSuggestOracle getFedLandOracle();
AuSuggestOracle getCountyOracle();
AuSuggestOracle getCommunityOracle();
void clearCounty();
void clearCommunity();
void activateForm();
Widget asWidget();
}
проблема заключается в неявном знании моей модели в методах, возвращающих «AuSuggestOracle». поэтому мой вопрос в том, как сделать вид/интерфейс «скромным». в моем случае отображаемые строки предложений неоднозначны, и мне нужен хотя бы «id» выбранного элемента, чтобы знать, какой DTObject выбран.