]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.acorn/src/org/simantics/acorn/FileCache.java
Fixing problems in the database unit testing environment with Acorn
[simantics/platform.git] / bundles / org.simantics.acorn / src / org / simantics / acorn / FileCache.java
diff --git a/bundles/org.simantics.acorn/src/org/simantics/acorn/FileCache.java b/bundles/org.simantics.acorn/src/org/simantics/acorn/FileCache.java
new file mode 100644 (file)
index 0000000..b0f9d37
--- /dev/null
@@ -0,0 +1,28 @@
+package org.simantics.acorn;
+
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.simantics.db.Disposable;
+
+/**
+ * @author Tuukka Lehtonen
+ * @since 1.32.0
+ */
+public class FileCache implements Disposable {
+
+       private Map<Path, FileIO> map = new HashMap<>();
+
+       public FileIO get(Path path) {
+               synchronized (map) {
+                       return map.computeIfAbsent(path, FileIO::new);
+               }
+       }
+
+       @Override
+       public void dispose() {
+               map = new HashMap<>();
+       }
+
+}