Использование GIN и mvp4g

Я хотел бы использовать в своем приложении реализацию Command Patter gwt-dispatch. Я также использую mvp4g. Как сделать DefaultDispatchAsync доступным для внедрения в моих докладчиков с использованием GIN или сделать его глобально доступным, чтобы я мог получить к нему доступ из моих докладчиков?


person jjczopek    schedule 04.05.2010    source источник


Ответы (1)


Вам необходимо настроить привязку для класса DefaultDispatchAsync в вашем модуле gin. Это установит привязку для интерфейса DispatchAsync, который реализует класс DefaultDispatchAsync. Затем вы можете добавить DispatchAsync в свой конструктор презентатора и при необходимости ввести его с помощью gin.

Обычно мои докладчики содержат частный член DispatchAsync, которому я назначаю введенный аргумент DispatchAsync внутри конструктора. Затем отправку можно использовать в классе презентатора по мере необходимости.

Итак, в методе настройки вашего GinModule добавьте строку

bind(DefaultDispatchAsync.class);

Затем в конструкторе презентатора

@Inject
public TestPresenter(/*Other injected arguments*/, final DispatchAsync dispatcher) {
   this.dispatcher = dispatcher;
}
person simon_d    schedule 05.05.2010
comment
Мне нужно настроить инжектор и ginmodule во время запуска приложения, поэтому я предполагаю, что он будет где-то в моей точке входа модуля gwt? - person jjczopek; 05.05.2010
comment
Да, вы можете использовать GWT create для настройки Ginjector в своем классе Entrypoint. например частный финальный инжектор GwtGinjector = GWT.create (GwtGinjector.class); Затем вы можете использовать созданный экземпляр инжектора, чтобы получить своего докладчика верхнего уровня и запустить приложение. - person simon_d; 05.05.2010
comment
Большое спасибо - это в основном работает, но теперь мне нужна помощь с вопросами о gwt-dispatch, размещенными здесь: stackoverflow.com/questions/2776726/ - person jjczopek; 06.05.2010