Package mx.unam.ciencias.icc
Class BaseDeDatos<R extends Registro<R,C>,C extends Enum>
java.lang.Object
mx.unam.ciencias.icc.BaseDeDatos<R,C>
- Type Parameters:
R
- El tipo de los registros, que deben implementar la interfazRegistro
.C
- El tipo de los campos de los registros, que debe ser una enumeraciónEnum
.
- Direct Known Subclasses:
BaseDeDatosEstudiantes
Clase abstracta para bases de datos genéricas. Provee métodos para agregar y
eliminar registros, y para guardarse y cargarse de una entrada y salida
dados. Además, puede hacer búsquedas con valores arbitrarios sobre los campos
de los registros.
Las clases que extiendan a BaseDeDatos deben implementar el método
creaRegistro()
, que crea un registro genérico en blanco.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
agregaRegistro
(R registro) Agrega el registro recibido a la base de datos.buscaRegistros
(C campo, Object valor) Busca registros por un campo específico.void
carga
(BufferedReader in) Carga los registros de la entrada recibida en la base de datos.abstract R
Crea un registro en blanco.void
eliminaRegistro
(R registro) Elimina el registro recibido de la base de datos.int
Regresa el número de registros en la base de datos.Regresa una lista con los registros en la base de datos.void
guarda
(BufferedWriter out) Guarda todos los registros en la base de datos en la salida recibida.void
limpia()
Limpia la base de datos.
-
Constructor Details
-
BaseDeDatos
public BaseDeDatos()Constructor único.
-
-
Method Details
-
getNumRegistros
public int getNumRegistros()Regresa el número de registros en la base de datos.- Returns:
- el número de registros en la base de datos.
-
getRegistros
Regresa una lista con los registros en la base de datos. Modificar esta lista no cambia a la información en la base de datos.- Returns:
- una lista con los registros en la base de datos.
-
agregaRegistro
Agrega el registro recibido a la base de datos.- Parameters:
registro
- el registro que hay que agregar a la base de datos.
-
eliminaRegistro
Elimina el registro recibido de la base de datos.- Parameters:
registro
- el registro que hay que eliminar de la base de datos.
-
limpia
public void limpia()Limpia la base de datos. -
guarda
Guarda todos los registros en la base de datos en la salida recibida.- Parameters:
out
- la salida donde hay que guardar los registos.- Throws:
IOException
- si ocurre un error de entrada/salida.
-
carga
Carga los registros de la entrada recibida en la base de datos. Si antes de llamar el método había registros en la base de datos, estos son eliminados.- Parameters:
in
- la entrada de donde hay que cargar los registos.- Throws:
IOException
- si ocurre un error de entrada/salida.
-
buscaRegistros
Busca registros por un campo específico.- Parameters:
campo
- el campo del registro por el cuál buscar.valor
- el valor a buscar.- Returns:
- una lista con los registros tales que casan el campo especificado con el valor dado.
- Throws:
IllegalArgumentException
- si el campo no es de la enumeración correcta.
-
creaRegistro
Crea un registro en blanco.- Returns:
- un registro en blanco.
-