X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Floader%2FChainWatcher.java;h=69faf8be880ab72286d52854e276f65a61b41037;hb=f78a78032ee008d2e8c3a669ead89485ea60c0f3;hp=71320ff3d53c98abe359ea7bc4edfa50e3a232f8;hpb=c3807abd1ef60b40e0b3f7062e24865dbe485029;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java b/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java index 71320ff..69faf8b 100644 --- a/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java +++ b/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java @@ -27,6 +27,9 @@ import java.util.Map.Entry; 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; @@ -48,6 +51,7 @@ import com.google.common.util.concurrent.Uninterruptibles; * * @author David ‘Bombe’ Roden */ +@Singleton public class ChainWatcher extends AbstractExecutionThreadService { /** The logger. */ @@ -73,9 +77,10 @@ public class ChainWatcher extends AbstractExecutionThreadService { * @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(); } // @@ -235,4 +240,22 @@ public class ChainWatcher extends AbstractExecutionThreadService { 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); + } + + } + }