2013-05-12 3 views
1

Я хочу расширить класс XtextDocumentProvider, который создается зависимыми инъекциями инъекций Google. Я хочу расширить этот класс, чтобы расширить метод для внутренних потребностей, но я не знаю, где настроен XtextDocumentProvider, чтобы вместо него был добавлен расширенный класс. Как я могу найти точку впрыска или конфигурацию, или это xtext xml, который мне не хватает?Зависимости Конфигурация впрыска для XtextDocumentProvider

заранее спасибо :)

ответ

3

Все переплеты устанавливаются в режиме исполнения и пользовательского интерфейса модуля вашего языка. Это означает, что все методы, которые следуют шаблону именования bindABC или provideABC, вызываются с отражением, что подразумевает, что вы можете добавлять произвольные дополнительные привязки. В дополнение к этим явным связям существует концепция привязок «точно в момент времени», например. если для точки впрыска требуется XtextDocumentProvider, но для этого класса нет явной привязки, и класс не является абстрактным, он будет использоваться напрямую. Если вы хотите настроить, что вы можете использовать что-то вроде

public Class<? extends XtextDocumentProvider> bindXtextDocumentProvider() { 
    return MyDocumentProvider.class; 
} 
+0

Хотя 'XtextDocumentProvider' не один из них, но быть полным: Есть несколько классов, которые настроены с помощью' @ ImplementedBy' механизм Guice. Их немного сложнее отследить. –