2010-05-04 2 views
3

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

ответ

2

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

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

Таким образом, в методе конфигурирования вашего GinModule, добавьте строку

bind(DefaultDispatchAsync.class); 

Затем на вашем ведущий конструктор,

@Inject 
public TestPresenter(/*Other injected arguments*/, final DispatchAsync dispatcher) { 
    this.dispatcher = dispatcher; 
} 
+0

я должен настроить свой инжектор и ginmodule во время запуска приложения, так что я предполагаю, что это будет быть где-то в точке входа в модуль gwt? – jjczopek

+1

Да, вы можете использовать GWT create для настройки вашего Ginjector в классе Entrypoint. , например. закрытый конечный инжектор GwtGinjector = GWT.create (GwtGinjector.class); Затем вы можете использовать экземпляр инжектора, созданный для извлечения верхнего уровня презентатора и запуска вашего приложения. –

+0

Большое спасибо - это в основном работает, но теперь мне нужна помощь с вопросами gwt-dispatch, размещенными здесь: http://stackoverflow.com/questions/2776726/connecting-gwt-dispatch-with-guice-and-mvp4g – jjczopek

Смежные вопросы