org.basex.io
Class TableMemAccess

java.lang.Object
  extended by org.basex.io.TableAccess
      extended by org.basex.io.TableMemAccess

public final class TableMemAccess
extends TableAccess

This class allows main memory access to the database table representation.

Author:
Workgroup DBIS, University of Konstanz 2005-08, ISC License, Christian Gruen

Constructor Summary
TableMemAccess(java.lang.String db, java.lang.String fn, int size)
          Stores the file content in a long array.
 
Method Summary
 void close()
          Closes the table access.
 void delete(int pre, int size)
          Delete a range of entries.
 void flush()
          Flushes the table contents.
 void insert(int pre, byte[] entries)
          Insert entries.
 int read1(int p, int o)
          Reads a byte from the specified position and returns it as integer.
 int read2(int p, int o)
          Reads a short value from the specified position and returns it as integer.
 int read4(int p, int o)
          Reads an integer value from the specified position.
 long read5(int p, int o)
          Reads an integer value from the specified position.
 void write1(int p, int o, int v)
          Writes a byte to the specified position.
 void write2(int p, int o, int v)
          Writes 2 bytes to the specified position.
 void write4(int p, int o, int v)
          Writes an integer value to the specified position.
 void write5(int p, int o, long v)
          Writes a 5-byte value to the specified position.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TableMemAccess

public TableMemAccess(java.lang.String db,
                      java.lang.String fn,
                      int size)
               throws java.io.IOException
Stores the file content in a long array.

Parameters:
db - name of the database
fn - the file to be read
size - table size
Throws:
java.io.IOException - IO Exception
Method Detail

read1

public int read1(int p,
                 int o)
Description copied from class: TableAccess
Reads a byte from the specified position and returns it as integer.

Specified by:
read1 in class TableAccess
Parameters:
p - pre value
o - offset
Returns:
integer value

read2

public int read2(int p,
                 int o)
Description copied from class: TableAccess
Reads a short value from the specified position and returns it as integer.

Specified by:
read2 in class TableAccess
Parameters:
p - pre value
o - offset
Returns:
integer value

read4

public int read4(int p,
                 int o)
Description copied from class: TableAccess
Reads an integer value from the specified position.

Specified by:
read4 in class TableAccess
Parameters:
p - pre value
o - offset
Returns:
integer value

read5

public long read5(int p,
                  int o)
Description copied from class: TableAccess
Reads an integer value from the specified position.

Specified by:
read5 in class TableAccess
Parameters:
p - pre value
o - offset
Returns:
integer value

write1

public void write1(int p,
                   int o,
                   int v)
Description copied from class: TableAccess
Writes a byte to the specified position.

Specified by:
write1 in class TableAccess
Parameters:
p - pre value
o - offset
v - value to be written

write2

public void write2(int p,
                   int o,
                   int v)
Description copied from class: TableAccess
Writes 2 bytes to the specified position.

Specified by:
write2 in class TableAccess
Parameters:
p - pre value
o - offset
v - value to be written

write4

public void write4(int p,
                   int o,
                   int v)
Description copied from class: TableAccess
Writes an integer value to the specified position.

Specified by:
write4 in class TableAccess
Parameters:
p - pre value
o - offset
v - value to be written

write5

public void write5(int p,
                   int o,
                   long v)
Description copied from class: TableAccess
Writes a 5-byte value to the specified position.

Specified by:
write5 in class TableAccess
Parameters:
p - pre value
o - offset
v - value to be written

delete

public void delete(int pre,
                   int size)
Description copied from class: TableAccess
Delete a range of entries.

Specified by:
delete in class TableAccess
Parameters:
pre - pre value of the first node to delete
size - number of entries to be deleted

insert

public void insert(int pre,
                   byte[] entries)
Description copied from class: TableAccess
Insert entries.

Specified by:
insert in class TableAccess
Parameters:
pre - pre value of node to insert after
entries - array of bytes containing the entries to insert

flush

public void flush()
Description copied from class: TableAccess
Flushes the table contents.

Specified by:
flush in class TableAccess

close

public void close()
Description copied from class: TableAccess
Closes the table access.

Specified by:
close in class TableAccess