Я пытаюсь использовать Gin в MVP GWT 2.4. В моем модуле у меня есть:
import com.google.web.bindery.event.shared.EventBus;
import com.google.web.bindery.event.shared.SimpleEventBus;
@Override
protected void configure() {
bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class);
...
}
В приведенном выше коде используется новый com.google.web.bindery.event.shared.EventBus
. Проблема возникает, когда я хочу внедрить шину событий в действия MVP, которые реализуют Activity:
package com.google.gwt.activity.shared;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
public interface Activity {
...
void start(AcceptsOneWidget panel, EventBus eventBus);
}
Activity
использует устаревший com.google.gwt.event.shared.EventBus
. Как я могу примирить их? Очевидно, что если я запрошу устаревший тип EventBus, тогда Gin пожалуется, потому что я не указал для него привязку.
Обновление: это позволит приложению построить, но теперь есть два разных EventBus
, что ужасно:
protected void configure() {
bind(com.google.gwt.event.shared.EventBus.class).to(
com.google.gwt.event.shared.SimpleEventBus.class).in(Singleton.class);
bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class);
...