X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.acorn%2Fsrc%2Forg%2Fsimantics%2Facorn%2FFileCache.java;fp=bundles%2Forg.simantics.acorn%2Fsrc%2Forg%2Fsimantics%2Facorn%2FFileCache.java;h=b0f9d37409f4ff052352099dcc74f2b374f7d322;hb=e5c006a3e29dcb1f29ae5bcc21ac28573bd37648;hp=0000000000000000000000000000000000000000;hpb=bf495713dbc9dec325f3929889466fa6cd58b541;p=simantics%2Fplatform.git 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 index 000000000..b0f9d3740 --- /dev/null +++ b/bundles/org.simantics.acorn/src/org/simantics/acorn/FileCache.java @@ -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 map = new HashMap<>(); + + public FileIO get(Path path) { + synchronized (map) { + return map.computeIfAbsent(path, FileIO::new); + } + } + + @Override + public void dispose() { + map = new HashMap<>(); + } + +}