Есть ли способ использовать внедрение зависимостей в виджет, созданный с помощью привязки пользовательского интерфейса?
Предположим, у меня есть простой виджет (в пакете com.example.client.ui.widget):
public class Foo extends Composite {
private final EventBus eventBus;
@Inject
public Foo(final EventBus eventBus) {
this.eventBus = eventBus;
// create ui
}
}
а затем у меня есть представление, определенное через привязку пользовательского интерфейса, которое использует этот виджет. например:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:app='urn:import:com.example.client.ui.widget'>
<g:HorizontalPanel>
<app:Foo/>
</g:HorizontalPanel>
</ui:UiBinder>
Выполнение этого так не работает из-за ограничения конструктора без аргументов для виджетов, которые используются в привязке пользовательского интерфейса. Но было бы неплохо, если бы компилятор GWT просто использовал GIN при наличии аннотации @Inject? Или это можно сделать как-то иначе? Возможно, я полностью упускаю концепцию GIN и GWT, если это так, любые подсказки очень ценятся.
Заранее спасибо, Маркус