package de.hub.emffrag.datastore; import java.io.InputStream; import java.io.OutputStream; public interface IBaseDataStore { public InputStream openInputStream(byte[] key); public OutputStream openOutputStream(byte[] key); /** * Delete the whole store. It cannot be used afterwards. */ public void drop(); /** * @return the least key greater than or equal to the given key, or null if * there is no such key. */ byte[] ceiling(byte[] key); /** * @return the greatest key less than or equal to the given key, or null if * there is no such key. */ byte[] floor(byte[] key); /** * @return True if no entry with this key exists and the key is still * available. */ boolean check(byte[] key); /** * @return True if the key has not existed before. */ boolean checkAndCreate(byte[] key); void delete(byte[] bytes); /** * Called to flush all caches. */ void flush(); /** * Closes the datastore (not called by EMF-Fragments). */ void close(); }