diff --git a/signallight/src/main/java/com/jambit/jambel/SignalLightModule.java b/signallight/src/main/java/com/jambit/jambel/SignalLightModule.java index e2aeede..7731388 100644 --- a/signallight/src/main/java/com/jambit/jambel/SignalLightModule.java +++ b/signallight/src/main/java/com/jambit/jambel/SignalLightModule.java @@ -6,9 +6,11 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.inject.AbstractModule; +import com.google.inject.Guice; import com.google.inject.Provides; import com.google.inject.Singleton; import com.google.inject.name.Names; +import com.jambit.jambel.config.ConfigModule; import com.jambit.jambel.config.JambelConfiguration; import com.jambit.jambel.config.SignalLightConfiguration; import com.jambit.jambel.light.SignalLight; @@ -32,4 +34,11 @@ public SignalLightConfiguration config(JambelConfiguration config) { return config.getSignalLightConfiguration(); } + /** + * Creates a new signal light with the JSON config found at the given path. + */ + public static SignalLight create(String configFilePath) { + return Guice.createInjector(new ConfigModule(configFilePath), new SignalLightModule()).getInstance(SignalLight.class); + } + } \ No newline at end of file