Введите переменную с пользовательским параметром, не создавая 2 вспомогательных интерфейса?

Я использую guice для динамического добавления классов в мои конструкторы. Например:

@Inject
public PublisherFrame(EventBus eventBus, MyPublisherService publishService)

И в моем модуле Guice:

bind(EventBus.class).in(Singleton.class);
bind(MyPublisherService.class).in(Singleton.class);

Работает без проблем.

Проблема начинается, когда я создаю объект, у которого есть параметр, который построен в коде Java:

public LoginController(EventBus eventBus, MyPublisherService publisherService, LoginDialog dlg)

Здесь LoginDialog - это класс Java, который создают коды Java. Для решения этой проблемы я использую @assist и:

install(new FactoryModuleBuilder().implement(ILoginController.class, LoginController.class).build(GuiceLoginControllerFactory.class));

Работает также хорошо. Но теперь мне нужно создать 2 дополнительных файла Java:

новый интерфейс для LoginController: ILoginController, который ничего не делает, кроме подсказок.другой интерфейс для Guice: GuiceLoginControllerFactory

Есть ли более простой способ ввести переменную, которая имеет пользовательский параметр в конструкторе? (без создания 2 дополнительных вспомогательных файлов "guice")

Ответы на вопрос(1)

Ваш ответ на вопрос