package jelectrum.db.lobstack; import java.util.Map; import java.util.TreeMap; import java.nio.ByteBuffer; import jelectrum.db.DBMap; import lobstack.Lobstack; import com.google.protobuf.ByteString; public class LobstackMap extends DBMap { Lobstack stack; public LobstackMap(Lobstack stack) { this.stack = stack; } public ByteString get(String key) { try { ByteBuffer bb = stack.get(key); if (bb == null) return null; else return ByteString.copyFrom(bb); } catch(java.io.IOException e) { throw new RuntimeException(e); } } public void put(String key, ByteString value) { try { stack.put(key, ByteBuffer.wrap(value.toByteArray())); } catch(java.io.IOException e) { throw new RuntimeException(e); } } public void putAll(Map<String, ByteString> m) { try { TreeMap<String, ByteBuffer> pm = new TreeMap<>(); for(Map.Entry<String, ByteString> me : m.entrySet()) { pm.put(me.getKey(), ByteBuffer.wrap(me.getValue().toByteArray())); } stack.putAll(pm); } catch(java.io.IOException e) { throw new RuntimeException(e); } } }