/*
 *  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
//===========================================================================

Generated by Java2Html