vishnu.persistence
Class DefaultRawTable

java.lang.Object
  extended by vishnu.persistence.DefaultRawTable
All Implemented Interfaces:
RawTable

public class DefaultRawTable
extends java.lang.Object
implements RawTable

Asume, dada una signatura, un formato de registro fijo. Encabezado del archivo: Rows(4 bytes+return = 6) Erased(4 bytes+return = 6) nextId(8 bytes+return = 10) Encabezado de cada registro id(8 bytes) dirty(1 byte) : (2 bytes)

Author:
Mariano Tepper
 

Constructor Summary
DefaultRawTable(java.lang.String fullTableName, TableSignature ts, IdAssigner a)
           
 
Method Summary
 void close()
          Cierra el acceso a la tabla.
 void drop()
          Borra fisicamente la tabla.
 void dropRecord(int n)
          Elimina el registro de la tabla.
 void dropRecord(Record r)
          Elimina el registro de la tabla.
protected  void finalize()
           
 Record getRecord(int n)
          Devuelve un registro.
 java.util.List<Record> getRecords(int begin, int end)
          Devuelve una lista de registros consecutivos dentro de los limites especificados.
 boolean hasNext()
          Indica si existe el siguiente registro.
 void insert(Record r)
          Inserta un registro.
 java.lang.String name()
          Devuelve el nombre de la tabla.
 Record next()
          Devuelve el siguiente registro.
 void open()
          Abre el acceso a la tabla.
 void order()
          Fuerza el ordenamiento de los registros.
 void reset()
          Resetea el recorrido de tabla.
 int rows()
          Indica la cantidad de registros de la tabla.
 void update(Record r)
          Actualiza el registro.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultRawTable

public DefaultRawTable(java.lang.String fullTableName,
                       TableSignature ts,
                       IdAssigner a)
Method Detail

name

public java.lang.String name()
Description copied from interface: RawTable
Devuelve el nombre de la tabla.

Specified by:
name in interface RawTable

insert

public void insert(Record r)
Description copied from interface: RawTable
Inserta un registro.

Specified by:
insert in interface RawTable
Parameters:
r - - el registro a insertar.

getRecord

public Record getRecord(int n)
                 throws java.lang.IndexOutOfBoundsException
Description copied from interface: RawTable
Devuelve un registro.

Specified by:
getRecord in interface RawTable
Throws:
java.lang.IndexOutOfBoundsException - - si el indice esta fuera de rango.
Parameters:
n - - el numero de registro a devolver.
Returns:
el registro especificado.

getRecords

public java.util.List<Record> getRecords(int begin,
                                         int end)
                                  throws java.lang.IndexOutOfBoundsException
Description copied from interface: RawTable
Devuelve una lista de registros consecutivos dentro de los limites especificados.

Specified by:
getRecords in interface RawTable
Throws:
java.lang.IndexOutOfBoundsException - - si los indices estan fuera de rango.
Parameters:
begin - - el numero del primer registro de la lista
end - - el numero del ultimo registro de la lista.
Returns:
una lista de registros consecutivos.

hasNext

public boolean hasNext()
Description copied from interface: RawTable
Indica si existe el siguiente registro.

Specified by:
hasNext in interface RawTable

next

public Record next()
Description copied from interface: RawTable
Devuelve el siguiente registro.

Specified by:
next in interface RawTable
Returns:
el siguiente registro.

reset

public void reset()
Description copied from interface: RawTable
Resetea el recorrido de tabla.

Specified by:
reset in interface RawTable

rows

public int rows()
Description copied from interface: RawTable
Indica la cantidad de registros de la tabla.

Specified by:
rows in interface RawTable

close

public void close()
Description copied from interface: RawTable
Cierra el acceso a la tabla.

Specified by:
close in interface RawTable

open

public void open()
Description copied from interface: RawTable
Abre el acceso a la tabla.

Specified by:
open in interface RawTable

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

drop

public void drop()
Description copied from interface: RawTable
Borra fisicamente la tabla.

Specified by:
drop in interface RawTable

order

public void order()
Description copied from interface: RawTable
Fuerza el ordenamiento de los registros.

Specified by:
order in interface RawTable

update

public void update(Record r)
Description copied from interface: RawTable
Actualiza el registro. Remplaza el primero que encuentra que matchea con oldRecord.

Specified by:
update in interface RawTable

dropRecord

public void dropRecord(int n)
                throws java.lang.IndexOutOfBoundsException
Description copied from interface: RawTable
Elimina el registro de la tabla.

Specified by:
dropRecord in interface RawTable
Throws:
java.lang.IndexOutOfBoundsException - - si el indice esta fuera de rango.
Parameters:
n - - el numero de registro a eliminar.

dropRecord

public void dropRecord(Record r)
Description copied from interface: RawTable
Elimina el registro de la tabla. Elimina el primero que encuentra que matchea con oldRecord.

Specified by:
dropRecord in interface RawTable
Parameters:
r - - el registro a eliminar.