package org.neo4j.shell.tools.imp.util; import org.mapdb.DBMaker; import java.util.HashMap; import java.util.Map; import java.util.NoSuchElementException; /** * Created by mh on 10.07.13. */ public class MapNodeCache<K, V> implements NodeCache<K, V> { private final Map<K, V> map; public MapNodeCache(Map<K, V> map) { this.map = map; } public static <K, V> NodeCache<K, V> usingMapDb() { return new MapNodeCache(DBMaker.<K, V>newTempHashMap()); } public static <K, V> NodeCache<K, V> usingHashMap() { return new MapNodeCache(new HashMap<K, V>(1024*1024,0.95f)); } @Override public void put(K name, V id) { map.put(name, id); } @Override public V get(K name) { V id = map.get(name); if (id==null) throw new NoSuchElementException("No Element for "+name); return id; } }