X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Fstates%2FStateManager.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Fstates%2FStateManager.java;h=bb8aff59dab340518916b9a25ca55798b344704a;hb=252bc27aca417b31fa27716dfab7e6446d642a7c;hp=3e08c296638782846946d4c3b1859e81c0b66e4c;hpb=61d21eea5ff0a0ce86c78d42c47287f12eccc94a;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java b/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java index 3e08c29..bb8aff5 100644 --- a/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java +++ b/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java @@ -24,6 +24,9 @@ import java.io.File; import java.io.IOException; import java.util.Optional; +import javax.inject.Inject; +import javax.inject.Singleton; + import net.pterodactylus.rhynodge.State; import org.apache.log4j.Logger; @@ -38,6 +41,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; * * @author David ‘Bombe’ Roden */ +@Singleton public class StateManager { /** The logger. */ @@ -55,8 +59,9 @@ public class StateManager { * @param directory * The directory to store states in */ - public StateManager(String directory) { - this.directory = directory; + @Inject + public StateManager(Directory directory) { + this.directory = directory.getDirectory(); } // @@ -159,4 +164,22 @@ public class StateManager { return empty(); } + public static class Directory { + + private final String directory; + + private Directory(String directory) { + this.directory = directory; + } + + public String getDirectory() { + return directory; + } + + public static Directory of(String directory) { + return new Directory(directory); + } + + } + }