package it.cavallium.strangedb.database; import it.cavallium.strangedb.database.references.ReferenceInfo; import java.io.IOException; public interface IReferencesMetadata { /** * Get reference info * @param reference reference * @return reference info * @throws IOException */ ReferenceInfo getReferenceInfo(long reference) throws IOException; /** * Allocate a new reference * * @param index index * @param size size * @return reference */ long newReference(long index, int size) throws IOException; /** * Change reference * @param reference reference * @param info info */ void editReference(long reference, ReferenceInfo info) throws IOException; /** * Delete reference * @param reference reference */ void deleteReference(long reference) throws IOException; /** * Close file */ void close() throws IOException; long getFirstFreeReference(); }