|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--pl.edu.pjwstk.yaod.store.defaultstore.newblocks.DataBlock
Klasa zapewnia logike zwiazana z wewnetrznym funkcjonowaniem blokow danych. Blok danych jest struktura umozliwiajaca rejestrowanie w niej rekordow. Rekord jest zserializowanym atomem. Blok danych sklada sie z sekcji:
Field Summary | |
static short |
BLOCKTYPE
|
static short |
NEXT_RECORD_LENGTH
|
static short |
RECORD_HEADER_LENGTH
|
static short |
SLOT_LENGTH
|
Constructor Summary | |
DataBlock(byte[] rawBlock)
Tworzy blok danych na podstawie podanej tablicy, zawierajacej jego zserializowana zawartosc. |
|
DataBlock(int size)
Tworzy pusty blok danych podanej wielkosci. |
Method Summary | |
short |
createRecord(byte[] record,
int type)
Tworzy rekord. |
void |
deleteRecord(short slot)
Usuwa rekord identyfikowany podanym slotem. |
short |
getBlock()
Zwraca numer bloku w ramach pliku danych, do ktorego nalezy blok. |
short |
getDataSectionSize()
Zwraca wielkosc zapisanej przestrzeni w ramach bloku, jako rozmiar sekcji danych. |
short |
getFile()
Zwraca identyfikator pliku danych, do ktorego nalezy blok. |
short |
getFreeSpaceSectionSize()
Zwraca wielkosc dostepnej wolnej przestrzeni w ramach bloku, jako rozmiar sekcji pustej. |
RecordPointer |
getNextPart(short slot)
Zwraca wskaznik kolejnego rekordu dla danego rekordu lancuchowanego. |
byte[] |
getRecord(short slot)
Zwraca rekord identyfikowany podanym slotem. |
short |
getRecordLength(short slot)
Zwraca dlugosc rekordu. |
short |
getSize()
Zwraca wielkosc bloku (suma wszystkich sekcji). |
boolean |
isChainedRecord(short slot)
Sprawdza, czy dany rekord jest lancuchowany, czyli czy zawiera dalszy ciag w innym bloku. |
void |
setBlock(short block)
Ustawia numer bloku w ramach pliku danych, do ktorego nalezy blok. |
void |
setFile(short file)
Ustawia identyfikator pliku danych, do ktorego nalezy blok. |
void |
setNextPart(short slot,
RecordPointer ptr)
Ustawia wskaznik kolejnego rekordu dla danego rekordu lancuchowanego. |
byte[] |
toByteArray()
Serializuje blok, w celu zapisania go na dysku. |
void |
updateRecord(short slot,
byte[] record,
boolean complex)
Aktualizuje rekord identyfikowany podanym slotem. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final short BLOCKTYPE
public static final short SLOT_LENGTH
public static final short RECORD_HEADER_LENGTH
public static final short NEXT_RECORD_LENGTH
Constructor Detail |
public DataBlock(int size) throws SectionBoundsException
size
- wielkosc tworzonego bloku.public DataBlock(byte[] rawBlock) throws BlockFormatException
rawBlock
- zserializowany blok.BlockFormatException
- podnoszony, jesli podana tablica nie
zawiera bloku danych.Method Detail |
public byte[] toByteArray()
public void setFile(short file)
file
- numer pliku.public short getFile()
public void setBlock(short block)
block
- numer bloku w pliku.public short getBlock()
public short getSize()
public short getFreeSpaceSectionSize()
public short getDataSectionSize()
public short createRecord(byte[] record, int type) throws SectionBoundsException, NoSuchRecordException
record
- tresc rekordu jako ciag bajtow.type
- czy rekord posiada dalszy ciag w innym bloku.public byte[] getRecord(short slot) throws SectionBoundsException, NoSuchRecordException
slot
- numer slotu przypisanego danemu rekordowi.public void updateRecord(short slot, byte[] record, boolean complex) throws SectionBoundsException, NoSuchRecordException
slot
- numer slotu przypisanego danemu rekordowi.record
- nowa tresc rekordu.complex
- czy rekord ma dalszy ciag w innym bloku.public void deleteRecord(short slot) throws SectionBoundsException, NoSuchRecordException
slot
- numer slotu przypisanego danemu rekordowi.public boolean isChainedRecord(short slot) throws SectionBoundsException, NoSuchRecordException
slot
- numer slotu przypisanego danemu rekordowi.public void setNextPart(short slot, RecordPointer ptr) throws NoSuchRecordException, SectionBoundsException
slot
- numer slotu przypisanego danemu rekordowi.ptr
- wskaznik do nastepnego rekordu.public RecordPointer getNextPart(short slot) throws NoSuchRecordException, SectionBoundsException
slot
- numer slotu przypisanego danemu rekordowi.public short getRecordLength(short slot) throws NoSuchRecordException, SectionBoundsException
slot
- numer slotu przypisanego danemu rekordowi.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |