bisq/src/main/java/io/bitsquare/di/GuiceFXMLLoader.java

53 lines
1.1 KiB
Java
Raw Normal View History

2014-04-11 11:33:48 +02:00
package io.bitsquare.di;
import com.google.inject.Injector;
2014-04-28 00:14:10 +02:00
import java.net.URL;
import java.util.ResourceBundle;
2014-06-27 15:36:03 +02:00
import javafx.fxml.FXMLLoader;
import javafx.util.BuilderFactory;
2014-04-11 11:33:48 +02:00
/**
* Guice support for fxml controllers
*/
public class GuiceFXMLLoader extends FXMLLoader
{
private static Injector injector = null;
public GuiceFXMLLoader()
{
2014-04-28 00:14:10 +02:00
super();
setupControllerFactory();
}
public GuiceFXMLLoader(URL url)
{
super(url);
setupControllerFactory();
2014-04-11 11:33:48 +02:00
}
2014-04-28 00:14:10 +02:00
public GuiceFXMLLoader(URL url, ResourceBundle resourceBundle)
2014-04-11 11:33:48 +02:00
{
2014-04-28 00:14:10 +02:00
super(url, resourceBundle);
setupControllerFactory();
}
public GuiceFXMLLoader(URL url, ResourceBundle resourceBundle, BuilderFactory builderFactory)
{
super(url, resourceBundle, builderFactory);
setupControllerFactory();
}
2014-06-27 15:36:03 +02:00
public static void setInjector(Injector injector)
{
GuiceFXMLLoader.injector = injector;
}
2014-04-28 00:14:10 +02:00
private void setupControllerFactory()
{
if (GuiceFXMLLoader.injector != null)
2014-04-11 11:33:48 +02:00
setControllerFactory(new GuiceControllerFactory(GuiceFXMLLoader.injector));
}
2014-04-28 00:14:10 +02:00
2014-04-11 11:33:48 +02:00
}