From ef966bad748ee6575efa3880f07a91551b7f5e6a Mon Sep 17 00:00:00 2001 From: Mathias Bogaert Date: Mon, 3 Jun 2013 12:50:23 +0200 Subject: [PATCH] Allow controllers to be injected too. --- app/Global.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Global.java b/app/Global.java index a785c52..be0b6c1 100644 --- a/app/Global.java +++ b/app/Global.java @@ -68,6 +68,7 @@ public T create() { } } + private Injector injector; private final List modules = Lists.newArrayList(); private final List onStartListeners = new CopyOnWriteArrayList(); @@ -165,10 +166,15 @@ public void onApplicationStop(Application application) { }); } + @Override + public A getControllerInstance(Class controllerClass) throws Exception { + return injector.getInstance(controllerClass); + } + @Override public void onStart(Application app) { Logger.info("Creating injector with " + modules.size() + " modules."); - Injector injector = Guice.createInjector(Stage.PRODUCTION, modules); + injector = Guice.createInjector(Stage.PRODUCTION, modules); for (OnStartListener listener : onStartListeners) { listener.onApplicationStart(app, injector);