import java.util.Set;
import java.util.concurrent.TimeUnit;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
import net.pterodactylus.rhynodge.Reaction;
import net.pterodactylus.rhynodge.engine.Engine;
import net.pterodactylus.rhynodge.loader.Chain.Parameter;
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
+@Singleton
public class ChainWatcher extends AbstractExecutionThreadService {
/** The logger. */
* @param directory
* The directory to watch
*/
- public ChainWatcher(Engine engine, String directory) {
+ @Inject
+ public ChainWatcher(Engine engine, ChainDirectory directory) {
this.engine = engine;
- this.directory = directory;
+ this.directory = directory.getDirectory();
}
//
return (filename.lastIndexOf(".") > -1) ? filename.substring(0, filename.lastIndexOf(".")) : filename;
}
+ public static class ChainDirectory {
+
+ private final String directory;
+
+ private ChainDirectory(String directory) {
+ this.directory = directory;
+ }
+
+ public String getDirectory() {
+ return directory;
+ }
+
+ public static ChainDirectory of(String directory) {
+ return new ChainDirectory(directory);
+ }
+
+ }
+
}