46 lines
906 B
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();
|
|
}
|