/*
* Bucket.java - Joris van Rantwijk
* in2026 Inleiding databeheer
*
* Definitie van een bucket.
*/
import java.io.RandomAccessFile;
import java.io.IOException;
/*
* Een bucket bestaat uit een vast aantal records, en een verwijzing.
* Deze class wordt gebruikt in een aantal bestandsorganisaties.
*/
//===========================================================================
// Class Bucket
//===========================================================================
public class Bucket
{
// Records en verwijzing in deze bucket
public Record[] record;
public int ref;
// Construeer een bucket met de gegeven bucketsize,
// en records van het gegeven type.
//-----------------------------------------------------------------------
public Bucket(int bucketsize, Class rectype)
{
int i;
record = new Record[bucketsize];
for (i = 0; i < record.length; i++)
record[i] = Record.newRecord(rectype);
ref = -1;
}
// Lees de bucket uit de gegeven file.
// Geef een exceptie als er iets fout gaat bij het lezen.
//-----------------------------------------------------------------------
public void read(RandomAccessFile f) throws IOException
{
int i;
for (i = 0; i < record.length; i++)
record[i].read(f);
ref = f.readInt();
}
// Schrijf de bucket naar de gegeven file.
// Geef een exceptie als er iets fout gaat bij het schrijven.
//-----------------------------------------------------------------------
public void write(RandomAccessFile f) throws IOException
{
int i;
for (i = 0; i < record.length; i++)
record[i].write(f);
f.writeInt(ref);
}
}
//===========================================================================
// End
//===========================================================================