Index
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
A
- agregar(Asignatura) - Method in class PlanEstudio
-
Agrega una asignatura al final del plan.
- agregarCalificacion(Calificacion) - Method in class Estudiante
-
Registra una calificación.
- agregarMateria(MateriaPrematricula) - Method in class Prematricula
-
Agrega una materia habilitada.
- agregarRequisito(String) - Method in class Asignatura
-
Agrega un prerrequisito si todavía no estaba en la lista.
- aprobo(String) - Method in class Estudiante
-
Indica si el estudiante aprobó una asignatura.
- ArchivoPrematricula - Class in Unnamed Package
-
Archivos de la prematrícula: la guarda en formato JSON (serializar) y la vuelve a leer (deserializar) con Gson, y guarda en un .txt el texto que se envía por correo.
- ArchivoPrematricula() - Constructor for class ArchivoPrematricula
-
Prepara Gson para escribir un JSON ordenado y con las tildes tal como son.
- Asignatura - Class in Unnamed Package
-
Una materia del plan de estudios: su ubicación en el plan (año y periodo), sus créditos y los códigos de sus prerrequisitos.
- Asignatura(String, int, String, int, String, int) - Constructor for class Asignatura
-
Crea la asignatura sin prerrequisitos; se agregan después con
Asignatura.agregarRequisito(String).
B
- BaseDatos - Class in Unnamed Package
-
Única clase del sistema que trabaja con MySQL (por JDBC): crea las tablas, guarda los planes y los estudiantes y los vuelve a leer.
- BaseDatos(Configuracion) - Constructor for class BaseDatos
-
Abre la conexión con MySQL usando los datos de config.properties.
- buscar(String) - Method in class PlanEstudio
-
Busca una asignatura por su código.
- buscarCalificacion(String) - Method in class Estudiante
-
Busca la calificación de una asignatura.
- buscarEstudiante(String, Map<String, PlanEstudio>) - Method in class BaseDatos
-
Busca un estudiante por su cédula y carga su historial (las calificaciones guardadas).
- buscarInicioSiguientePeriodo(Asignatura) - Method in class PlanEstudio
-
Busca la primera asignatura del periodo que sigue al periodo de la referencia.
C
- Calificacion - Class in Unnamed Package
-
La nota que un estudiante tiene en una asignatura, con las reglas para saber si la aprobó y cuántos créditos y puntos le suma al índice.
- Calificacion(Asignatura, String) - Constructor for class Calificacion
-
Crea la calificación de una asignatura.
- cantidad() - Method in class PlanEstudio
-
Returns la cantidad de asignaturas del plan.
- cantidadMaterias() - Method in class Prematricula
-
Returns la cantidad de materias de la prematrícula.
- CargarDatos - Class in Unnamed Package
-
Programa de carga: lee el plan y el historial de la LII y deja lista la base de datos.
- cargarPlanes() - Method in class BaseDatos
-
Lee todos los planes con sus asignaturas (en el orden del plan) y sus prerrequisitos.
- cedulaValida(String) - Static method in class Estudiante
-
Revisa el formato de una cédula panameña.
- close() - Method in class BaseDatos
-
Cierra la conexión con MySQL.
- Configuracion - Class in Unnamed Package
-
Lee config.properties para que la clave de MySQL y la URL del webhook no estén escritas dentro del código.
- Configuracion(String) - Constructor for class Configuracion
-
Lee el archivo de configuración y revisa que tenga los datos obligatorios de la base de datos.
- crearPrematricula(Estudiante, Asignatura, Map<Asignatura, List<String>>) - Method in class GestorAcademico
-
Arma la prematrícula solo con las materias que no tienen prerrequisitos pendientes.
- creditosComputables() - Method in class Calificacion
-
Créditos que cuentan para el índice: las materias sin nota (S) o en las que no asistió (N) no suman.
E
- enviarTexto(String, String, String, String) - Method in class EnvioWebhook
-
Envía el texto al webhook con una petición HTTP POST cuyo cuerpo es un JSON en UTF-8.
- EnvioWebhook - Class in Unnamed Package
-
Envía al webhook de Make (el Selector) un JSON con el correo del destinatario, el asunto y el texto de la prematrícula que se sacó del PDF.
- EnvioWebhook(String) - Constructor for class EnvioWebhook
-
Prepara el envío.
- estaAprobada() - Method in class Calificacion
-
Returns true si la nota es A, B, C o D.
- estaConfigurado() - Method in class EnvioWebhook
-
Returns true si config.properties tiene la URL del webhook.
- ESTADO_APROBADA - Static variable in class Calificacion
-
Estado de una materia aprobada (A, B, C o D).
- ESTADO_NO_ASISTIO - Static variable in class Calificacion
-
Estado de una materia con N.
- ESTADO_REPROBADA - Static variable in class Calificacion
-
Estado de una materia con F.
- ESTADO_SIN_NOTA - Static variable in class Calificacion
-
Estado de una materia con S.
- estadoDe(String) - Method in class Estudiante
-
Describe el estado de una asignatura para los mensajes de prerrequisitos.
- Estudiante - Class in Unnamed Package
-
Un estudiante de una carrera (su plan de estudios) con sus calificaciones.
- Estudiante(String, String, PlanEstudio) - Constructor for class Estudiante
-
Crea un estudiante sin calificaciones.
- evaluarMaterias(Estudiante, Asignatura) - Method in class GestorAcademico
-
Evalúa una sola vez las materias que el estudiante podría matricular: las de ese tipo de periodo (1, 2 o V) hasta ese año que todavía no aprobó, incluidas las que reprobó antes y debe repetir.
- extraerTexto(String) - Method in class PdfPrematricula
-
Abre un PDF ya creado, saca su texto y lo ordena para el correo: los datos del estudiante alineados y las materias en una tabla con bordes.
F
- FRACASO - Static variable in class Calificacion
-
Nota de fracaso.
G
- generar(Prematricula) - Method in class PdfPrematricula
-
Crea Prematricula_cedula.pdf con los datos del estudiante y la tabla de materias.
- GestorAcademico - Class in Unnamed Package
-
Reglas académicas de la Fase III: la consulta del historial (créditos, puntos e índice) y la generación de la prematrícula, es decir, qué materias puede matricular el estudiante en el periodo que le sigue según los prerrequisitos.
- GestorAcademico() - Constructor for class GestorAcademico
-
Crea el gestor.
- getAdvertencias() - Method in class LectorArchivos
-
Returns una copia de los avisos de las líneas que se ignoraron.
- getAnio() - Method in class Asignatura
-
Returns el año del plan en el que está la materia.
- getAsignatura() - Method in class Calificacion
-
Returns la materia calificada.
- getAsignaturas() - Method in class PlanEstudio
-
Devuelve las asignaturas en el orden del plan, en una vista de solo lectura (no se copia la lista en cada llamada).
- getCalificaciones() - Method in class Estudiante
-
Returns las calificaciones del estudiante, en una vista de solo lectura.
- getCedula() - Method in class Estudiante
-
Returns la cédula del estudiante.
- getCedula() - Method in class Prematricula
-
Returns la cédula del estudiante.
- getClaveBaseDatos() - Method in class Configuracion
-
Returns la clave de MySQL (db.clave); puede estar vacía.
- getCodigo() - Method in class Asignatura
-
Returns el código de la materia, por ejemplo "INF 111".
- getCodigo() - Method in class MateriaPrematricula
-
Returns el código de la materia.
- getCodigoCarrera() - Method in class PlanEstudio
-
Returns el código de la carrera.
- getCodigoCarrera() - Method in class Prematricula
-
Returns el código de la carrera.
- getCreditos() - Method in class Asignatura
-
Returns los créditos de la materia.
- getEstado() - Method in class Calificacion
-
Returns el estado de la materia: Aprobada, Reprobada, No asistió o Sin nota.
- getFechaGeneracion() - Method in class Prematricula
-
Returns la fecha y hora en que se generó la prematrícula.
- getMaterias() - Method in class Prematricula
-
Returns las materias habilitadas, en una vista de solo lectura.
- getNombre() - Method in class Asignatura
-
Returns el nombre de la materia.
- getNombre() - Method in class Estudiante
-
Returns el nombre completo del estudiante.
- getNombre() - Method in class MateriaPrematricula
-
Returns el nombre de la materia.
- getNombreCarrera() - Method in class PlanEstudio
-
Returns el nombre de la carrera.
- getNombreCarrera() - Method in class Prematricula
-
Returns el nombre de la carrera.
- getNombreEstudiante() - Method in class Prematricula
-
Returns el nombre del estudiante.
- getNombrePeriodo() - Method in class Asignatura
-
Devuelve el año y el periodo escritos para mostrarlos, por ejemplo "2° AÑO - PRIMER SEMESTRE".
- getNota() - Method in class Calificacion
-
Returns la letra de la nota.
- getNumero() - Method in class Asignatura
-
Returns la posición de la materia en el plan oficial.
- getPeriodo() - Method in class Asignatura
-
Returns el periodo de la materia: 1, 2 o V.
- getPeriodo() - Method in class Prematricula
-
Returns el periodo que se va a matricular.
- getPeriodoPlan() - Method in class MateriaPrematricula
-
Returns el año y el periodo de la materia en el plan.
- getPlan() - Method in class Estudiante
-
Returns el plan de estudios de su carrera.
- getPrimera() - Method in class PlanEstudio
-
Returns la primera asignatura del plan, o null si el plan está vacío.
- getRequisitos() - Method in class Asignatura
-
Devuelve los prerrequisitos en una vista de solo lectura: nadie puede cambiarlos desde fuera y la lista no se copia en cada llamada.
- getUrlBaseDatos() - Method in class Configuracion
-
Returns la URL de conexión de MySQL (db.url).
- getUrlWebhook() - Method in class Configuracion
-
Returns la URL del webhook de Make (webhook.url); vacía si no se usa el envío por correo.
- getUsuarioBaseDatos() - Method in class Configuracion
-
Returns el usuario de MySQL (db.usuario).
- guardar(Collection<PlanEstudio>, List<Estudiante>) - Method in class BaseDatos
-
Guarda los planes y los estudiantes en una sola transacción: o se guarda todo o no se guarda nada.
- guardarJson(Prematricula) - Method in class ArchivoPrematricula
-
Guarda la prematrícula en Prematricula_cedula.json.
- guardarTexto(Prematricula, String) - Method in class ArchivoPrematricula
-
Guarda en Prematricula_cedula.txt el texto que se sacó del PDF.
I
- iniciar() - Method in class MenuAcademico
-
Atiende estudiantes uno tras otro hasta que el usuario escribe "salir".
L
- LectorArchivos - Class in Unnamed Package
-
Convierte los archivos de planes (plan_*.txt) y de historiales (historial_*.txt) en objetos.
- LectorArchivos() - Constructor for class LectorArchivos
-
Crea el lector sin advertencias.
- leerHistorial(String, Map<String, PlanEstudio>) - Method in class LectorArchivos
-
Lee un archivo de historial académico.
- leerJson(String) - Method in class ArchivoPrematricula
-
Lee una prematrícula guardada en JSON.
- leerPlan(String) - Method in class LectorArchivos
-
Lee un archivo de plan de estudios.
- LineaInvalidaException - Exception Class in Unnamed Package
-
Excepción propia para una línea mal escrita en un archivo de datos (.txt).
- LineaInvalidaException(String, int, String) - Constructor for exception class LineaInvalidaException
-
Crea la excepción con un mensaje que indica el archivo, la línea y el problema.
M
- main(String[]) - Static method in class CargarDatos
-
Inicia la carga.
- main(String[]) - Static method in class Main
-
Inicia el programa.
- Main - Class in Unnamed Package
-
Punto de entrada del Sistema de Prematrícula: lee la configuración, abre la base de datos, carga los planes de estudio y le entrega el control al menú.
- MateriaPrematricula - Class in Unnamed Package
-
Una materia dentro de la prematrícula.
- MateriaPrematricula(String, String, String) - Constructor for class MateriaPrematricula
-
Crea la materia de la prematrícula.
- MenuAcademico - Class in Unnamed Package
-
Controla la conversación con el usuario: pide la cédula, muestra el submenú y llama a las clases que hacen cada tarea.
- MenuAcademico(Scanner, Map<String, PlanEstudio>, BaseDatos, EnvioWebhook) - Constructor for class MenuAcademico
-
Prepara el menú con los objetos que necesita.
- mismoPeriodo(Asignatura) - Method in class Asignatura
-
Indica si las dos materias están en el mismo año y periodo del plan.
- mostrarEvaluacion(Estudiante, Asignatura, Map<Asignatura, List<String>>) - Method in class GestorAcademico
-
Muestra en pantalla las materias que el estudiante puede matricular y las que están bloqueadas, con los prerrequisitos que les faltan.
- mostrarHistorial(Estudiante) - Method in class GestorAcademico
-
Muestra en pantalla el historial del estudiante por periodo y su desempeño: materias aprobadas, créditos, puntos, índice acumulado y avance del plan.
N
- NO_ASISTIO - Static variable in class Calificacion
-
Nota de una materia a la que el estudiante no asistió.
- notaValida(String) - Static method in class Calificacion
-
Revisa que una nota leída de un archivo sea una sola letra válida.
O
- onCloseDocument(PdfWriter, Document) - Method in class PdfPrematricula
-
iText lo llama al cerrar el documento: ya se conoce el total de páginas y se escribe en cada pie.
- onEndPage(PdfWriter, Document) - Method in class PdfPrematricula
-
iText lo llama al terminar cada página: dibuja el encabezado y el pie.
- onOpenDocument(PdfWriter, Document) - Method in class PdfPrematricula
-
iText lo llama al abrir el documento: reserva el espacio donde al final se escribe el total de páginas.
P
- PdfPrematricula - Class in Unnamed Package
-
Crea el PDF de la prematrícula (el informe PDF de la Fase IV) a partir de la lista leída del JSON, y después vuelve a abrir ese PDF para sacar su texto y ordenarlo en una tabla, que es lo que se envía por correo.
- PdfPrematricula() - Constructor for class PdfPrematricula
-
Prepara las fuentes del documento.
- periodoAMatricular(Estudiante) - Method in class GestorAcademico
-
Busca el periodo que sigue al último que el estudiante cursó, representado por su primera asignatura.
- periodoValido(String) - Static method in class Asignatura
-
Revisa que un periodo leído de un archivo sea 1, 2 o V.
- PlanEstudio - Class in Unnamed Package
-
El plan de estudios de una carrera: sus asignaturas en el mismo orden del plan oficial.
- PlanEstudio(String, String) - Constructor for class PlanEstudio
-
Crea un plan vacío.
- Prematricula - Class in Unnamed Package
-
La lista de materias que un estudiante puede matricular en su siguiente periodo.
- Prematricula(Estudiante, String, String) - Constructor for class Prematricula
-
Crea una prematrícula vacía para un estudiante.
- PRIMER_SEMESTRE - Static variable in class Asignatura
-
Código del primer semestre en los archivos y en la base de datos.
- puntos() - Method in class Calificacion
-
Puntos = créditos x valor de la nota.
R
- recrearTablas() - Method in class BaseDatos
-
Borra las cinco tablas (si existen) y las vuelve a crear vacías, para cargar los datos sin duplicarlos.
S
- SEGUNDO_SEMESTRE - Static variable in class Asignatura
-
Código del segundo semestre.
- SIN_NOTA - Static variable in class Calificacion
-
Nota de una materia que todavía no tiene resultado.
T
- tieneNota() - Method in class Calificacion
-
Indica si la materia ya tiene un resultado: "S" significa que todavía no lo tiene.
- toString() - Method in class Asignatura
- toString() - Method in class Calificacion
- toString() - Method in class Estudiante
- toString() - Method in class MateriaPrematricula
- toString() - Method in class PlanEstudio
U
- ultimaAsignaturaCursada() - Method in class Estudiante
-
Busca la asignatura más avanzada del plan que el estudiante tiene registrada (con o sin nota).
V
- VERANO - Static variable in class Asignatura
-
Código del verano.
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form