strangedb-core/src/main/java/it/cavallium/strangedb/database/IReferencesMetadata.java

46 lines
906 B
Java

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();
}