Index

A B C E F G I L M N O P R S T U V 
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.
A B C E F G I L M N O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form