X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Fstates%2FStateManager.java;h=8e0c72eb1177efb568744ddd2aa587116aa99a61;hb=c849f7f04df084252db87a2389f50f55d4b9a775;hp=3e08c296638782846946d4c3b1859e81c0b66e4c;hpb=920800afdb03718187ebc014ea4555429ea24ea1;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..8e0c72e 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. */ @@ -52,11 +56,12 @@ public class StateManager { /** * Creates a new state manager. The given directory is assumed to exist. * - * @param directory + * @param stateDirectory * The directory to store states in */ - public StateManager(String directory) { - this.directory = directory; + @Inject + public StateManager(StateDirectory stateDirectory) { + this.directory = stateDirectory.getDirectory(); } // @@ -159,4 +164,22 @@ public class StateManager { return empty(); } + public static class StateDirectory { + + private final String directory; + + private StateDirectory(String directory) { + this.directory = directory; + } + + public String getDirectory() { + return directory; + } + + public static StateDirectory of(String directory) { + return new StateDirectory(directory); + } + + } + }