⬆️ Update a bunch of dependencies
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / states / StateManager.java
index bb8aff5..9b46feb 100644 (file)
@@ -24,8 +24,11 @@ import java.io.File;
 import java.io.IOException;
 import java.util.Optional;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.module.kotlin.KotlinModule;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import net.pterodactylus.rhynodge.State;
 
@@ -50,18 +53,24 @@ public class StateManager {
        /** Jackson object mapper. */
        private final ObjectMapper objectMapper = new ObjectMapper();
 
+       {
+               objectMapper.registerModule(new KotlinModule.Builder().build());
+               objectMapper.registerModule(new JavaTimeModule());
+               objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+       }
+
        /** The directory in which to store states. */
        private final String directory;
 
        /**
         * Creates a new state manager. The given directory is assumed to exist.
         *
-        * @param directory
+        * @param stateDirectory
         *            The directory to store states in
         */
        @Inject
-       public StateManager(Directory directory) {
-               this.directory = directory.getDirectory();
+       public StateManager(StateDirectory stateDirectory) {
+               this.directory = stateDirectory.getDirectory();
        }
 
        //
@@ -164,11 +173,11 @@ public class StateManager {
                return empty();
        }
 
-       public static class Directory {
+       public static class StateDirectory {
 
                private final String directory;
 
-               private Directory(String directory) {
+               private StateDirectory(String directory) {
                        this.directory = directory;
                }
 
@@ -176,8 +185,8 @@ public class StateManager {
                        return directory;
                }
 
-               public static Directory of(String directory) {
-                       return new Directory(directory);
+               public static StateDirectory of(String directory) {
+                       return new StateDirectory(directory);
                }
 
        }