Package org.basex.io.random
Class TableMemAccess
java.lang.Object
org.basex.io.random.TableAccess
org.basex.io.random.TableMemAccess
This class allows main memory access to the database table representation.
All table entries are stored in arrays
NOTE: this class is not thread-safe.
- Author:
- BaseX Team 2005-21, BSD License, Christian Gruen
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the table access.protected voidcopy(byte[] entries, int pre, int last) Copies the specified values into the database.voiddelete(int pre, int count) Deletes the specified number of entries from the database.protected voiddirty()Marks the data structures as dirty.voidflush(boolean all) Flushes the table contents.voidinsert(int pre, byte[] entries) Inserts the specified entries into the database.booleanlock(boolean lock) Tries to acquires a lock on the table.intread1(int pre, int offset) Reads a byte value and returns it as an integer value.intread2(int pre, int offset) Reads a short value and returns it as an integer value.intread4(int pre, int offset) Reads an integer value.longread5(int pre, int offset) Reads a 5-byte value and returns it as a long value.voidwrite1(int pre, int offset, int value) Writes a byte value to the specified position.voidwrite2(int pre, int offset, int value) Writes a short value to the specified position.voidwrite4(int pre, int offset, int value) Writes an integer value to the specified position.voidwrite5(int pre, int offset, long value) Writes a 5-byte value to the specified position.Methods inherited from class org.basex.io.random.TableAccess
replace
-
Constructor Details
-
TableMemAccess
Constructor.- Parameters:
meta- meta data
-
-
Method Details
-
flush
public void flush(boolean all) Description copied from class:TableAccessFlushes the table contents.- Specified by:
flushin classTableAccess- Parameters:
all- flush all contents or only buffers
-
close
public void close()Description copied from class:TableAccessCloses the table access.- Specified by:
closein classTableAccess
-
lock
public boolean lock(boolean lock) Description copied from class:TableAccessTries to acquires a lock on the table. If a lock exists, it is first released.- Specified by:
lockin classTableAccess- Parameters:
lock- write/read lock- Returns:
- success flag
-
read1
public int read1(int pre, int offset) Description copied from class:TableAccessReads a byte value and returns it as an integer value.- Specified by:
read1in classTableAccess- Parameters:
pre- pre valueoffset- offset- Returns:
- integer value
-
read2
public int read2(int pre, int offset) Description copied from class:TableAccessReads a short value and returns it as an integer value.- Specified by:
read2in classTableAccess- Parameters:
pre- pre valueoffset- offset- Returns:
- integer value
-
read4
public int read4(int pre, int offset) Description copied from class:TableAccessReads an integer value.- Specified by:
read4in classTableAccess- Parameters:
pre- pre valueoffset- offset- Returns:
- integer value
-
read5
public long read5(int pre, int offset) Description copied from class:TableAccessReads a 5-byte value and returns it as a long value.- Specified by:
read5in classTableAccess- Parameters:
pre- pre valueoffset- offset- Returns:
- integer value
-
write1
public void write1(int pre, int offset, int value) Description copied from class:TableAccessWrites a byte value to the specified position.- Specified by:
write1in classTableAccess- Parameters:
pre- pre valueoffset- offsetvalue- value to be written
-
write2
public void write2(int pre, int offset, int value) Description copied from class:TableAccessWrites a short value to the specified position.- Specified by:
write2in classTableAccess- Parameters:
pre- pre valueoffset- offsetvalue- value to be written
-
write4
public void write4(int pre, int offset, int value) Description copied from class:TableAccessWrites an integer value to the specified position.- Specified by:
write4in classTableAccess- Parameters:
pre- pre valueoffset- offsetvalue- value to be written
-
write5
public void write5(int pre, int offset, long value) Description copied from class:TableAccessWrites a 5-byte value to the specified position.- Specified by:
write5in classTableAccess- Parameters:
pre- pre valueoffset- offsetvalue- value to be written
-
copy
protected void copy(byte[] entries, int pre, int last) Description copied from class:TableAccessCopies the specified values into the database.- Specified by:
copyin classTableAccess- Parameters:
entries- entries to copypre- first target pre valuelast- last pre value
-
delete
public void delete(int pre, int count) Description copied from class:TableAccessDeletes the specified number of entries from the database.- Specified by:
deletein classTableAccess- Parameters:
pre- pre value of the first node to deletecount- number of entries to be deleted
-
insert
public void insert(int pre, byte[] entries) Description copied from class:TableAccessInserts the specified entries into the database.- Specified by:
insertin classTableAccess- Parameters:
pre- pre valueentries- array of bytes containing the entries to insert
-
dirty
protected void dirty()Description copied from class:TableAccessMarks the data structures as dirty.- Specified by:
dirtyin classTableAccess
-