package com.mastfrog.signalreload; import com.mastfrog.giulius.Dependencies; /** * Runs the code that launches the application. Note that this method should * return, not block to avoid system exit - do that with the return value from * start() if necessary (and be aware that a signal could make it look like what * you're waiting on is done!). * * @param <T> */ public interface Launcher<T> { /** * Launch the application. Note this is not run on the thread that calls * start(). * * @param deps The dependencies/Guice injector * @return Some object the caller can use */ public T launch(Dependencies deps) throws Exception; }