package org.voyanttools.trombone.model; import org.mapdb.DB; import org.voyanttools.trombone.storage.Storage; public abstract class AbstractDB { protected DB db; protected Storage storage; private final static String PREFIX = "mapdb-"; public AbstractDB(Storage storage, String dbId, boolean readOnly) { this.storage = storage; setDB(dbId, readOnly); } protected void setDB(String dbId, boolean readOnly) { db = storage.getDB(getName(dbId), readOnly); } public void commit() { db.commit(); } public void close() { storage.closeDB(db); } private static String getName(String dbId) { return PREFIX+dbId; } protected static boolean exists(Storage storage, String name) { return storage.existsDB(getName(name)); } }