Zmienna wtrysku z parametrem niestandardowym bez tworzenia 2 interfejsów pomocnika guice?

Używam guice do dynamicznego wstrzykiwania klas do moich konstruktorów. Na przykład:

@Inject
public PublisherFrame(EventBus eventBus, MyPublisherService publishService)

W moim module guice:

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

Działa bez problemów.

Problem zaczyna się, gdy tworzę obiekt, który ma parametr skonstruowany w kodzie java:

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

Tutaj LoginDialog jest klasą java, którą tworzą kody java. Aby rozwiązać ten problem, używam @assist i:

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

Działa również ładnie. Ale teraz muszę utworzyć 2 dodatkowe pliki java:

nowy interfejs dla LoginController: ILoginController, który nie robi nic oprócz pomocy guice.inny interfejs Guice: GuiceLoginControllerFactory

Czy istnieje łatwiejszy sposób wstrzyknięcia zmiennej, która ma niestandardowy parametr w konstruktorze? (bez tworzenia 2 dodatkowych plików pomocniczych „guice”)

questionAnswers(1)

yourAnswerToTheQuestion