Package modelo

Class BaseDatos

java.lang.Object
modelo.BaseDatos

public class BaseDatos extends Object
Clase que representa a la base de datos de la aplicación. En su responsabilidad contiene únicamente como atributos estructuras que almacenan el grueso de la información para la lógica de la aplicación, entre la que destaca:
  • Registros de alumnos.
  • Tira de materias de la facultad.
  • Credenciales de ingreso al sistema.
  • Nombres de alumnos. (CSV)
  • Apellidos de alumnos. (CSV)
  • Direcciones de alumnos. (CSV)
En la definición de sus métodos contiene únicamente aquellos necesarios para interactuar con dichas estructuras.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addAlumnoFDU(Alumno alumnoFDU)
    Método que añade a la base de datos del sistema un nuevo alumno que es conocido de antemano como FDU.
    void
    addAlumnoOrdinario(Alumno alumnoOrdinario)
    Método que añade a la base de datos del sistema un nuevo alumno que es conocido de antemano como ordinario.
    void
    addApellido(String apellido)
    Utilizado por la clase Archivos para inflar la información en la base de datos local de los posibles apellidos para alumnos, según los archivos leídos.
    void
    addAsignatura(String claveAsignatura, Asignatura asignatura)
    Mëtodo que añade a la base de datos del sistema, en su almacenamiento del plan de estudios, una asignatura que no se había inicializado previamente.
    protected void
    addDireccion(String direccion)
    Utilizado por la clase Archivos para inflar la información en la base de datos local de las posibles direccione de domicilio físicas para alumnos, según los archivos leídos.
    void
    addNombre(String nombre)
    Utilizado por la clase Archivos para inflar la información en la base de datos local de los posibles nombres para alumnos, según los archivos leídos.
    boolean
    Método que añade a la base de datos del sistema un objeto nuevo de tipo registro login.
    boolean
    addUsuario(String claveUsuario, Usuario usuario)
    Método que añade a la base de datos del sistema un objeto de tipo usuario.
    buscarAlumno(int numeroDeCuenta)
    Método que busca el registro de un Alumno por su número de cuenta en la base de datos.
    boolean
    coincideContrasena(String claveUsuario, String contra)
    Método que busca el registro de un Usuario sagún la clave (usuario) que utiliza para inciiar sesión en el sistema, y un intento de hacer login con una contraseña en específico se busca sea certero.
    boolean
    deleteAlumnoFDU(int numeroDeCuenta)
    Método que elimina de la base de datos a un alumno existente como FDU.
    boolean
    deleteAlumnoOrdinario(int numeroDeCuenta)
    Método que elimina de la base de datos a un alumno existente como ordinario.
    boolean
    deleteUsuario(String claveUsuario)
    Método que borra a un Usuario de la base de datos.
    boolean
    existeUsuario(String claveUsuario)
    Método que busca el registro de un Usuario según la clave (usuario) que utiliza para iniciar sesión en el sistema.
    getAlumno(int numeroCuenta)
    Método para buscar un Alumno genérico en la base de datos.
    getAlumnoFDU(int numeroCuenta)
    Método que regresa el objeto de tipo Alumno especificado como alumno FDU.
    getAlumnoOrdinario(int numeroCuenta)
    Método que regresa el objeto de tipo Alumno especificado como alumno ordinario.
    Método que devuelve todos los objetos de tipo Alumno dados de alta en la base de datos como ordinarios.
    Se utiliza principalmente en la inicialización de objetos de tipo Alumno.
    Método que regresa el objeto de tipo Asignatura especificado.
    Método que devuelve la contaseña de un Usuario cuya clave se conoce.
    Se utiliza principalmente en la inicialización de objetos de tipo Alumno.
    static BaseDatos
    Método que devuelve la única instancia de la clase BaseDatos.
    Se utiliza principalmente en la inicialización de objetos de tipo Alumno.
    Método que devuelve el nombre de una Asignatura cuya clave se conoce.
    getNombreUsuario(String claveUsuario)
    Método que devuelve el nombre de un Usuario cuya clave se conoce.
    int
    Método de uso general que indica el número de alumnos dados de alta en el sistema, utiliza el atributo size de la estructura que contiene a los alumnos, de manera que se mantiene dinámica en todo momento.
    int
    Método de uso general que indica el número de alumnos FDU dados de alta en el sistema, utiliza el atributo size de la estructura que contiene a los alumnos, de manera que se mantiene dinámica en todo momento.
    int
    Método de uso general que indica el número de alumnos ordinarios dados de alta en el sistema, utiliza el atributo size de la estructura que contiene a los alumnos, de manera que se mantiene dinámica en todo momento.
    int
    Método que devuelve el número de posibles apellidos para alumnos dados de alta en el sistema.
    int
    Método que devuelve el número de asignaturas en el plan de estudios dadas de alta en el sistema.
    int
    Método que devuelve el número de posibles direcciones físicas para alumnos dadas de alta en el sistema.
    int
    Método que devuelve el número de posibles nombres para alumnos dados de alta en el sistema.
    int
    Método que devuelve el número de usuarios dados de alta en el sistema para su acceso.
    getUsuario(String claveUsuario)
    Métodoo que busca en la base de datos un Usuario.
    Método que devuelve todos los objetos de tipo Usuario dados de alta en la base de datos.
    void
    Método que imprime la información de todos los académicos.
    void
    Método que imprime la información de todos los Alumnos.
    void
    Método que imprime en pantalla el historial de todos los registros de inicio de sesión a la aplicación.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getInstance

      public static BaseDatos getInstance()
      Método que devuelve la única instancia de la clase BaseDatos. Implementación del patrón de diseño Singleton.
    • getNumAlumnos

      public int getNumAlumnos()
      Método de uso general que indica el número de alumnos dados de alta en el sistema, utiliza el atributo size de la estructura que contiene a los alumnos, de manera que se mantiene dinámica en todo momento. Indica el número de alumnos totales de la facultad a lo largo del tiempo. Ésto incluye tanto alumnos ordinarios como FDU.
      Returns:
      El número de alumnos dados de alta en el sistema.
    • getNumAlumnosOrdinarios

      public int getNumAlumnosOrdinarios()
      Método de uso general que indica el número de alumnos ordinarios dados de alta en el sistema, utiliza el atributo size de la estructura que contiene a los alumnos, de manera que se mantiene dinámica en todo momento. Indica el número de alumnos ordinarios dados de alta en la base de datos del sistema.
      Returns:
      El número de alumnos ordinarios dados de alta en el sistema.
    • getNumAlumnosFDU

      public int getNumAlumnosFDU()
      Método de uso general que indica el número de alumnos FDU dados de alta en el sistema, utiliza el atributo size de la estructura que contiene a los alumnos, de manera que se mantiene dinámica en todo momento. Indica el número de alumnos FDU dados de alta en la base de datos del sistema.
      Returns:
      El número de alumnos FUD dados de alta en el sistema.
    • getNumNombres

      public int getNumNombres()
      Método que devuelve el número de posibles nombres para alumnos dados de alta en el sistema. Utiliza el campo size de la estructura que contiene la información, asegurando que su consulta sea dinámica y actualizada en cualquier momento de uso.
      Returns:
      El número de nombres dados de alta en el sistema.
    • getNumApellidos

      public int getNumApellidos()
      Método que devuelve el número de posibles apellidos para alumnos dados de alta en el sistema. Utiliza el campo size de la estructura que contiene la información, asegurando que su consulta sea dinámica y actualizada en cualquier momento de uso.
      Returns:
      El número de apellidos dados de alta en el sistema.
    • getNumDirecciones

      public int getNumDirecciones()
      Método que devuelve el número de posibles direcciones físicas para alumnos dadas de alta en el sistema. Utiliza el campo size de la estructura que contiene la información, asegurando que su consulta sea dinámica y actualizada en cualquier momento de uso.
      Returns:
      El número de direcciones físicas dadas de alta en el sistema.
    • getNumAsignaturas

      public int getNumAsignaturas()
      Método que devuelve el número de asignaturas en el plan de estudios dadas de alta en el sistema.
      Returns:
      El número de asignaturas en el plan de estudios local.
    • getNumUsuarios

      public int getNumUsuarios()
      Método que devuelve el número de usuarios dados de alta en el sistema para su acceso.
      Returns:
      El número de usuarios en el ssitema.
    • getUsuario

      public Usuario getUsuario(String claveUsuario)
      Métodoo que busca en la base de datos un Usuario.
      Parameters:
      claveUsuario - La clave del Usuario que se quiere buscar.
      Returns:
      El usuario encontrado.
    • getNombreAleatorio

      public String getNombreAleatorio()
      Se utiliza principalmente en la inicialización de objetos de tipo Alumno. El nombre que retorna es completamente aleatorio.
      Returns:
      Uno de los nombres en la base de datos.
    • getApellidoAleatorio

      public String getApellidoAleatorio()
      Se utiliza principalmente en la inicialización de objetos de tipo Alumno. El apellido que retorna es completamente aleatorio.
      Returns:
      Uno de los apellidos en la base de datos.
    • getDireccionAleatoria

      public String getDireccionAleatoria()
      Se utiliza principalmente en la inicialización de objetos de tipo Alumno. La dirección física de domicilio es completamente aleatoria.
      Returns:
      Una de las direccione de domicilio físicas en la base de datos.
    • getAlumno

      public Alumno getAlumno(int numeroCuenta)
      Método para buscar un Alumno genérico en la base de datos. Por genérico se entiende que no hay distinción sobre si es FDU u ordinario, pues busca en ambas colecciones.
      Parameters:
      numeroCuenta - El número de cuenta del alumno que se quiere buscar.
      Returns:
      El Alumno encontrado, o null si el Alumno especificado no existe en la base de datos.
    • getAlumnosOrdinarios

      public Collection<Alumno> getAlumnosOrdinarios()
      Método que devuelve todos los objetos de tipo Alumno dados de alta en la base de datos como ordinarios.
      Returns:
      Una colección de todos los alumnos ordinarios en la base de datos como ordinarios.
    • getAlumnoOrdinario

      public Alumno getAlumnoOrdinario(int numeroCuenta)
      Método que regresa el objeto de tipo Alumno especificado como alumno ordinario.
      Parameters:
      numeroCuenta - El número de cuenta del alumno que se quiere buscar.
      Returns:
      El Alumno encontrado, o null si el Alumno especificado no existe en la base de datos.
    • getAlumnoFDU

      public Alumno getAlumnoFDU(int numeroCuenta)
      Método que regresa el objeto de tipo Alumno especificado como alumno FDU.
      Parameters:
      numeroCuenta - El número de cuenta del alumno que se quiere buscar.
      Returns:
      El Alumno encontrado, o null si el Alumno especificado no existe en la base de datos.
    • getAsignatura

      public Asignatura getAsignatura(String clave)
      Método que regresa el objeto de tipo Asignatura especificado.
      Parameters:
      clave - La clave de la Asignatura que se desea obtener.
      Returns:
      La Asignatura encontrada, o null si la Asignatura especificado no existe en la base de datos.
    • getNombreAsignatura

      public String getNombreAsignatura(String clave)
      Método que devuelve el nombre de una Asignatura cuya clave se conoce.
      Parameters:
      clave - La clave numérica única de la Asignatura.
      Returns:
      El nombre de la Asignatura si es que se mapea correctamente el valor en la base de datos para la clave dada, o null en caso contrario.
    • getNombreUsuario

      public String getNombreUsuario(String claveUsuario)
      Método que devuelve el nombre de un Usuario cuya clave se conoce. Parte de la certeza de que dicho Usuario existe en la base de datos.
      Parameters:
      claveUsuario - La clave identificador único del Usuario.
      Returns:
      El nombre del Usuario.
    • getContrasenaAcademico

      public String getContrasenaAcademico(String claveUsuario)
      Método que devuelve la contaseña de un Usuario cuya clave se conoce. Parte de la certeza de que dicho Uusario existe en la base de datos.
      Parameters:
      claveUsuario - La clave identificador único del Usuario.
      Returns:
      La contraseña del Usuario.
    • getUsuarios

      public Collection<Usuario> getUsuarios()
      Método que devuelve todos los objetos de tipo Usuario dados de alta en la base de datos.
      Returns:
      Una colección de todos los Usuarios en la base de datos.
    • addNombre

      public void addNombre(String nombre)
      Utilizado por la clase Archivos para inflar la información en la base de datos local de los posibles nombres para alumnos, según los archivos leídos.
      Parameters:
      nombre - El nombre a añadir a la base de datos.
    • addApellido

      public void addApellido(String apellido)
      Utilizado por la clase Archivos para inflar la información en la base de datos local de los posibles apellidos para alumnos, según los archivos leídos.
      Parameters:
      apellido - El apellido a añadir a la base de datos.
    • addDireccion

      protected void addDireccion(String direccion)
      Utilizado por la clase Archivos para inflar la información en la base de datos local de las posibles direccione de domicilio físicas para alumnos, según los archivos leídos.
      Parameters:
      direccion - La dirección a añadir a la base de datos.
    • addAlumnoOrdinario

      public void addAlumnoOrdinario(Alumno alumnoOrdinario)
      Método que añade a la base de datos del sistema un nuevo alumno que es conocido de antemano como ordinario.
      Parameters:
      alumnoOrdinario - El alumno a añadir a la base de datos.
    • addAlumnoFDU

      public void addAlumnoFDU(Alumno alumnoFDU)
      Método que añade a la base de datos del sistema un nuevo alumno que es conocido de antemano como FDU.
      Parameters:
      alumnoFDU - El alumno a añadir a la base de datos.
    • addAsignatura

      public void addAsignatura(String claveAsignatura, Asignatura asignatura)
      Mëtodo que añade a la base de datos del sistema, en su almacenamiento del plan de estudios, una asignatura que no se había inicializado previamente.
      Parameters:
      claveAsignatura - La clave-valor de la asignatura que se está insertando en la base de datos.
      asignatura - El objeto de tipo asignatura-valor del que consiste la base de datos.
    • addUsuario

      public boolean addUsuario(String claveUsuario, Usuario usuario)
      Método que añade a la base de datos del sistema un objeto de tipo usuario.
      Parameters:
      claveUsuario - La clave identificable del usuario.
      usuario - El objeto de tipo usuario que se añade como valor a la colección.
      Returns:
      true si se pudo añadir el Usuario correctamente, false en caso contrario.
    • addRegistroLogin

      public boolean addRegistroLogin(RegistroLogin login)
      Método que añade a la base de datos del sistema un objeto nuevo de tipo registro login. Añade el último registro de sesión registrado en el sistema.
      Parameters:
      login - El nuevo objeto de tipo RegistroLogin.
      Returns:
      true si no hubo problemas al añadirlo, false en caso contrario.
    • deleteAlumnoOrdinario

      public boolean deleteAlumnoOrdinario(int numeroDeCuenta)
      Método que elimina de la base de datos a un alumno existente como ordinario.
      Parameters:
      numeroDeCuenta - El número de cuenta del alumno a eliminar.
      Returns:
      true si el alumno se encontraba entre los registros del sistema y se pudo borrar de ellos, false en caso contrario; el alumno no se encontraba en los registros del sistema.
    • deleteAlumnoFDU

      public boolean deleteAlumnoFDU(int numeroDeCuenta)
      Método que elimina de la base de datos a un alumno existente como FDU.
      Parameters:
      numeroDeCuenta - El número de cuenta del alumno a eliminar.
      Returns:
      true si el alumno se encontraba entre los registros del sistema y se pudo borrar de ellos, false en caso contrario; el alumno no se encontraba en los registros del sistema.
    • deleteUsuario

      public boolean deleteUsuario(String claveUsuario)
      Método que borra a un Usuario de la base de datos.
      Parameters:
      claveUsuario - El identificador del Usuario existente que se quiere eliminar de la base de datos.
      Returns:
      true si se pudo eliminar exitosamente, false en caso contrario, e.g. el usuario especificado no se encontró en la base de datos.
    • buscarAlumno

      public Alumno buscarAlumno(int numeroDeCuenta)
      Método que busca el registro de un Alumno por su número de cuenta en la base de datos. Es indistinta la condición ordinaria o FDU de un alumno, únicamente interesa saber si un registro identificable (número de cuenta) ya se encuentra ocupado por un alumno en la base de datos.
      Parameters:
      numeroDeCuenta - El número de cuenta único del alumno que se quiere buscar.
      Returns:
      null si el alumno no se encuentra en la base de datos, el objeto tipo de Alumno en caso de que sí se encuentre.
    • existeUsuario

      public boolean existeUsuario(String claveUsuario)
      Método que busca el registro de un Usuario según la clave (usuario) que utiliza para iniciar sesión en el sistema.
      Parameters:
      claveUsuario -
      Returns:
    • coincideContrasena

      public boolean coincideContrasena(String claveUsuario, String contra)
      Método que busca el registro de un Usuario sagún la clave (usuario) que utiliza para inciiar sesión en el sistema, y un intento de hacer login con una contraseña en específico se busca sea certero. Se conoce como contraseña certera a la contraseña oficial y correcta la que está asociada a un usuario en la base de datos.
      Parameters:
      claveUsuario - El usuario cuya coincidencia de contraseña se quiere corroborar.
      contra - La contraseña que se quiere contrastar con la certera.
      Returns:
      true si la contraseña dada coincide con la certera, false en caso contrario.
    • imprimirAlumnos

      public void imprimirAlumnos()
      Método que imprime la información de todos los Alumnos.
    • imprimirAcademicos

      public void imprimirAcademicos()
      Método que imprime la información de todos los académicos.
    • imprimirRegistroAccesos

      public void imprimirRegistroAccesos()
      Método que imprime en pantalla el historial de todos los registros de inicio de sesión a la aplicación.