Как переопределить привязку в GIN - PullRequest
6 голосов
/ 06 сентября 2011

Я нашел ответ для Guice Переопределение привязки в Guice , но не знаю, как сделать то же самое для GIN в GWT.

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 06 сентября 2011

Насколько я знаю, это не поддерживается.

Чтобы ответить на ваш комментарий:

Если вы используете «чистые» тесты JUnit (не GWTTestcases), вы не используете GIN, вы используете Guice, а в Guice вы можете переопределять модули. Если вы хотите повторно использовать модули GIN, оберните их, используя GinModuleAdapter. Таким образом, вы можете сделать что-то вроде этого:

static class MyGinModule extends GinModule {
  ...
}
static class MyGuiceModule extends AbstractModule {
  ...
}

// And somewhere in your code, here's how you could create the Injector
Module myWrappedGinModule = new GinModuleAdapter(new MyGinModule());
Module myModule = Modules.override(myWrappedGinModule).with(new MyGuiceModule());
Injector injector = Guice.createInjector(myModule);
0 голосов
/ 15 ноября 2011

Используйте аннотацию @ImplementedBy в вашем интерфейсе.

Класс, указанный в аннотации, будет реализацией по умолчанию.

Вы можете указать другую реализацию, эффективно переопределяя стандартную.

Например:

@ImplementedBy(MyWidgetImpl.class)
public interface MyWidget {
  //...
}

public class MyWidgetImpl implements MyWidget {
  //...
}
...