/* * BestandsOrganisatie.java - Joris van Rantwijk * in2026 Inleiding databeheer * * Definitie van een abstracte bestandsorganisatie. */ import java.io.IOException; /* * We definieren een abstracte class BestandsOrganisatie, die alle * elementaire operaties op databases uit kan voeren. Deze zal dienen als * superclass voor een aantal verschillende bestandsorganisaties. */ //=========================================================================== // Class BestandsOrganisatie // Abstracte superclass voor bestandsorganisaties. //=========================================================================== abstract class BestandsOrganisatie { // Het gebruikte recordtype protected Class recordType; // De lengte van een record in de file protected int recordLen; // Het aantal uitgevoerde diskaccesses. // Initialiseer dit op nul bij het openen van het bestand. public int diskaccess = 0; // Verwerk alle wijzigingen. Sluit het bestand. // Geef een IOException als er iets mis gaat met lezen of schrijven. //----------------------------------------------------------------------- public abstract void close() throws IOException; // Voeg een record toe. // Geef een Exception als er al een record met dezelfde key bestaat. // Geef een IOException als er iets mis gaat met lezen of schrijven. //----------------------------------------------------------------------- public abstract void insert(Record rec) throws Exception, IOException; // Vervang een bestaand record. // Geef een Exception als het record niet wordt gevonden. // Geef een IOException als er iets mis gaat met lezen of schrijven. //----------------------------------------------------------------------- public abstract void update(Record rec) throws Exception, IOException; // Zoek het record met de gegeven key en geef het terug. // Geef 'null' terug als het record niet wordt gevonden. // Geef een IOException als er iets mis gaat met lezen. //----------------------------------------------------------------------- public abstract Record retrieve(int key) throws IOException; // Verwijder het record met de gegeven key. // Geef een Exception als het record niet wordt gevonden. // Geef een IOException als er iets mis gaat met lezen of schrijven. //----------------------------------------------------------------------- public abstract void delete(int key) throws Exception, IOException; } //=========================================================================== // End //===========================================================================