logica

## Class ExNihilo

- java.lang.Object
- - logica.ExNihilo

    public class ExNihilo
    extends java.lang.Object

### Constructor Summary

Constructors
Constructor and Description
`ExNihilo()`

### Method Summary

All Methods Static Methods Concrete Methods
`static boolean` `crearActividad(java.util.Date fecha, java.lang.String tipo, Asignatura asignatura)` Añade una nueva actividad en la base de datos
`static boolean` `crearAnotacion(boolean positiva, java.lang.String descripcion, Estudiante estudiante, Profesor profesor)` Añade una nueva anotacion a la base de datos
`static boolean` `crearApoderado(Colegio colegio, java.lang.String nombre, java.lang.String rut)` Añade un nuevo apoderado a la base de datos.
`static boolean` `crearAsignatura(java.lang.String nombre, Curso curso, Profesor profesor)` Añade una nueva asignatura al sistema.
`static boolean` `crearAsistencia(java.util.Date dia, boolean asistio, Estudiante estudiante)` Añade una asistencia al sistema.
`static boolean` `crearColegio(java.lang.String nombre)` Añade un nuevo colegio al sistema
`static boolean` `crearCurso(int nivel, java.lang.String letra, Colegio colegio)` Añade un nuevo curso al sistema
`static boolean` `crearEstudiante(java.lang.String nombre, java.lang.String rut, Curso curso, Apoderado apoderado)` Añade un nuevo estudiante al sistema
`static boolean` `crearNota(double valor, Asignatura asignatura, Estudiante estudiante)` Añade una nota al sistema.
`static boolean` `crearProfesor(Colegio colegio, java.lang.String nombre, java.lang.String rut)` Añade un nuevo profesor al sistema.
`static void` `deleteAll()`
`static boolean` `eliminarActividad(Actividad actividad)` Elimina la actividad que se le entrega.
`static boolean` `eliminarAnotacion(Anotacion anotacion)` Elimina la anotacion indicada del sistema.
`static boolean` `eliminarApoderado(Apoderado apoderado)` Elimina el apoderado entregado del sistema.
`static boolean` `eliminarAsignatura(Asignatura asignatura)` Elimina una asignatura y todos sus asociados.
`static boolean` `eliminarAsistencia(Asistencia asistencia)` Elimina una asistencia del sistema
`static boolean` `eliminarColegio(Colegio colegio)` Elimina un colegio y todos sus asociados.
`static boolean` `eliminarCurso(Curso curso)` Elimina un curso del sistema y todos sus asociados
`static boolean` `eliminarEstudiante(Estudiante estudiante)` Elimina un Estudiante del sistema y todos sus asociados
`static boolean` `eliminarNota(Nota nota)` Elimina una nota del sistema.
`static boolean` `eliminarProfesor(Profesor profesor)` Elimina un profesor y todos sus asociados.
`static void` `fill()`
`static boolean` `modificarActividad(Actividad actividad, java.util.Date fecha, java.lang.String tipo, Asignatura asignatura)` Modifica una actividad del sistema
`static boolean` `modificarAnotacion(Anotacion anotacion, java.lang.Boolean positiva, java.lang.String descripcion, Estudiante estudiante, Profesor profesor)`
`static boolean` `modificarApoderado(Apoderado apoderado, java.lang.String nombre, java.lang.String rut)` Modifica un apoderado del sistema
`static boolean` `modificarAsignatura(Asignatura asignatura, java.lang.String nombre, Curso curso, Profesor profesor)` Modifica una asignatura del sistema
`static boolean` `modificarAsistencia(Asistencia asistencia, java.util.Date dia, java.lang.Boolean asistio, Estudiante estudiante)` Modifica una asistencia del sistema
`static boolean` `modificarColegio(Colegio colegio, java.lang.String nombre)` Modifica los valores de el colegio entregado
`static boolean` `modificarCurso(Curso curso, java.lang.Integer nivel, java.lang.String letra, Colegio colegio)` Modifica un curso del sistema
`static boolean` `modificarEstudiante(Estudiante estudiante, java.lang.String nombre, java.lang.String rut, Curso curso, Apoderado apoderado)` Modifica un estudiante del sistema
`static boolean` `modificarNota(Nota nota, java.lang.Double valor, Asignatura asignatura, Estudiante estudiante)` Modifica una nota del sistema
`static boolean` `modificarProfesor(Profesor profesor, java.lang.String nombre, java.lang.String rut)` Modifica un profesor del sistema

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ExNihilo

    public ExNihilo()

### Method Detail

#### crearColegio

    public static boolean crearColegio(java.lang.String nombre)

Añade un nuevo colegio al sistema

Parameters:
  `nombre` - Nombre del colegio a crear
Returns:
  Retorna un booleando indicando si la creacion fue correcta, si existe un colegio con el mismo nombre, no sera creado y retornara false, si no, retornara true.

#### modificarColegio

    public static boolean modificarColegio(Colegio colegio,
                                           java.lang.String nombre)

Modifica los valores de el colegio entregado

Parameters:
  `colegio` - Colegio que se modificara
  `nombre` - Nombre nuevo que se le otorgara al colegio
Returns:
  Retorna un booleano indicando si el colegio existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarColegio

    public static boolean eliminarColegio(Colegio colegio)

Elimina un colegio y todos sus asociados.

Parameters:
  `colegio` - Colegio que se eliminara
Returns:
  Retorna un booleano indicando si se ejecuto correctamente y existe ese colegio en el sistema, si fue asi, retornara true, si no, false.

#### crearCurso

    public static boolean crearCurso(int nivel,
                                     java.lang.String letra,
                                     Colegio colegio)

Añade un nuevo curso al sistema

Parameters:
  `nivel` - Nivel del curso, "1,2,3,4... "
  `letra` - Letra del curso, "A,B...."
  `colegio` - Colegio al que se le añade el curso.
Returns:
  Retorna un booleano, si existe un curso con el mismo nivel y letra en un colegio o ocurre algun error, retornara false, si no, entrega un true.

#### modificarCurso

    public static boolean modificarCurso(Curso curso,
                                         java.lang.Integer nivel,
                                         java.lang.String letra,
                                         Colegio colegio)

Modifica un curso del sistema

Parameters:
  `curso` - Curso que se modificara
  `nivel` - nuevo nivel del curso
  `letra` - nueva letra del curso
  `colegio` - nuevo colegio del curso
Returns:
  Retorna un booleano indicando si el curso existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarCurso

    public static boolean eliminarCurso(Curso curso)

Elimina un curso del sistema y todos sus asociados

Parameters:
  `curso` - Curso a eliminar
Returns:
  Retorna un boleano respecto si la operacion se realizo correctamente y el curso existia previamente en el sistema, si es asi, retornara true, si no un false.

#### crearApoderado

    public static boolean crearApoderado(Colegio colegio,
                                         java.lang.String nombre,
                                         java.lang.String rut)

Añade un nuevo apoderado a la base de datos.

Parameters:
  `nombre` - Nombre completo del apoderado
  `rut` - Rut perteneciente al apoderado
Returns:
  retorna un booleano correspondiente a si la operacion se ejecuto correctamente, si fue asi, retorna un true, si ocurre algun error, se repite el rut en alguna otra persona del colegio o algun otro error, retornara false;

#### modificarApoderado

    public static boolean modificarApoderado(Apoderado apoderado,
                                             java.lang.String nombre,
                                             java.lang.String rut)

Modifica un apoderado del sistema

Parameters:
  `apoderado` - Apoderado a modificar
  `nombre` - nuevo nombre del apoderado
  `rut` - nuevo rut del apoderado
Returns:
  Retorna un booleano indicando si el apoderado existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarApoderado

    public static boolean eliminarApoderado(Apoderado apoderado)

Elimina el apoderado entregado del sistema.

Parameters:
  `apoderado` - Apoderado a eliminar.
Returns:
  Retorna un booleano dependiendo si la operacion se realizo correctamente, si el apoderado ya no existe en el sistema o si ocurre algun otro error, se retornara false, si no, retornara true;

#### crearEstudiante

    public static boolean crearEstudiante(java.lang.String nombre,
                                          java.lang.String rut,
                                          Curso curso,
                                          Apoderado apoderado)

Añade un nuevo estudiante al sistema

Parameters:
  `nombre` - Nombre completo del estudiante
  `rut` - Rut del estudiante
  `curso` - Curso al que se añade el estudiante
  `apoderado` - Apoderado del estudiante
Returns:
  Retorna un booleano, si se crea correctamente y el rut no esta repetido en ninguna parte del colegio, retornara un true, si no retornara false.

#### modificarEstudiante

    public static boolean modificarEstudiante(Estudiante estudiante,
                                              java.lang.String nombre,
                                              java.lang.String rut,
                                              Curso curso,
                                              Apoderado apoderado)

Modifica un estudiante del sistema

Parameters:
  `estudiante` - Estudiante que se modificara
  `nombre` - nuevo nombre del estudiante
  `rut` - nuevo rut del estudiante
  `curso` - nuevo curso del estudiante
  `apoderado` - nuevo apoderado del estudiante
Returns:
  Retorna un booleano indicando si el estudiante existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarEstudiante

    public static boolean eliminarEstudiante(Estudiante estudiante)

Elimina un Estudiante del sistema y todos sus asociados

Parameters:
  `estudiante` - Estudiante a eliminar
Returns:
  Retorna un boleano respecto si la operacion se realizo correctamente y el estudiante existe en el sistema, si es asi, retornara true, si no un false.

#### crearAsistencia

    public static boolean crearAsistencia(java.util.Date dia,
                                          boolean asistio,
                                          Estudiante estudiante)

Añade una asistencia al sistema.

Parameters:
  `dia` - Dia en el que asiste o no el estudiante.
  `asistio` - Indica si el estudiante o no, con true o false respectivamente
  `estudiante` - Estudiante al que se le ingresa la asistencia ese dia
Returns:
  Retorna un booleano si la operacion se ejecuta correctamente, si no esta repetida o no ocurre ningun error, retornara true, si ocurre lo contrario, entonces retornara false.

#### modificarAsistencia

    public static boolean modificarAsistencia(Asistencia asistencia,
                                              java.util.Date dia,
                                              java.lang.Boolean asistio,
                                              Estudiante estudiante)

Modifica una asistencia del sistema

Parameters:
  `asistencia` - Asistencia a modificar
  `dia` - nuevo dia de la asistencia
  `asistio` - nuevo booleano indicando si asistio o no
  `estudiante` - nuevo estudiante al que pertenece la asistencia
Returns:
  Retorna un booleano indicando si la asistencia existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarAsistencia

    public static boolean eliminarAsistencia(Asistencia asistencia)

Elimina una asistencia del sistema

Parameters:
  `asistencia` - Asistencia a eliminar
Returns:
  Retorna un booleano indicando si la asistencia existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### crearNota

    public static boolean crearNota(double valor,
                                    Asignatura asignatura,
                                    Estudiante estudiante)

Añade una nota al sistema.

Parameters:
  `valor` - Valor de la nota.
  `asignatura` - Asignatura a la que pertenece la nota
  `estudiante` - Estudiante al que se le añade la nota
Returns:
  Retorna un booleano respecto si la operacion se completo correctamente, si algo falla, retornara false, si no un true.

#### modificarNota

    public static boolean modificarNota(Nota nota,
                                        java.lang.Double valor,
                                        Asignatura asignatura,
                                        Estudiante estudiante)

Modifica una nota del sistema

Parameters:
  `nota` - Nota a modificarse
  `valor` - nuevo valor que tendra la nota
  `asignatura` - nueva asignatura a la que pertenecera la nota
  `estudiante` - nuevo estudiante al que pertenecera la nota
Returns:
  Retorna un booleano indicando si la nota existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarNota

    public static boolean eliminarNota(Nota nota)

Elimina una nota del sistema.

Parameters:
  `nota` - Nota que se eliminara
Returns:
  Retorna un booleano indicando si se ejecuto correctamente y existe esa nota en el sistema, si fue asi, retornara true, si no, false.

#### crearAnotacion

    public static boolean crearAnotacion(boolean positiva,
                                         java.lang.String descripcion,
                                         Estudiante estudiante,
                                         Profesor profesor)

Añade una nueva anotacion a la base de datos

Parameters:
  `positiva` - si la anotacion es positiva, true, si es negativa, false
  `descripcion` - Descripcion de la anotacion
  `estudiante` - Estudiante al que se le añade la anotacion
  `profesor` - Profesor al cual se le añade la anotacion
Returns:
  Retorna un booleano respecto a si se creo el objeto correctamente, si esta ingresado anteriormente o ocurre algun otro error, retornara false, si se crea correctamente, retorna true.

#### modificarAnotacion

    public static boolean modificarAnotacion(Anotacion anotacion,
                                             java.lang.Boolean positiva,
                                             java.lang.String descripcion,
                                             Estudiante estudiante,
                                             Profesor profesor)

#### eliminarAnotacion

    public static boolean eliminarAnotacion(Anotacion anotacion)

Elimina la anotacion indicada del sistema.

Parameters:
  `anotacion` - Anotacion a eliminarse
Returns:
  Retorna un booleano indicando si la operacion se realizo correctamente, cuando no se encuentra la anotacion indicada en el sistema o ocurre algun error interno, retornara false, si no retornara un true.

#### crearProfesor

    public static boolean crearProfesor(Colegio colegio,
                                        java.lang.String nombre,
                                        java.lang.String rut)

Añade un nuevo profesor al sistema.

Parameters:
  `colegio` - Colegio al que pertenece el profesor
  `nombre` - Nombre del profesor
  `rut` - Rut del profesor
Returns:
  Retorna un boleano dependiendo si la creacion fue correcta y el rut no se repite en otra persona del colegio, si es asi, retornara true, si no, retornara false

#### modificarProfesor

    public static boolean modificarProfesor(Profesor profesor,
                                            java.lang.String nombre,
                                            java.lang.String rut)

Modifica un profesor del sistema

Parameters:
  `profesor` - Profesor a modificar
  `nombre` - nuevo nombre del profesor
  `rut` - nuevo rut del profesor
Returns:
  Retorna un booleano indicando si el profesor existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarProfesor

    public static boolean eliminarProfesor(Profesor profesor)

Elimina un profesor y todos sus asociados.

Parameters:
  `profesor` - Profesor que se eliminara
Returns:
  Retorna un booleano indicando si se ejecuto correctamente y existe ese profesor en el sistema, si fue asi, retornara true, si no, false.

#### crearAsignatura

    public static boolean crearAsignatura(java.lang.String nombre,
                                          Curso curso,
                                          Profesor profesor)

Añade una nueva asignatura al sistema.

Parameters:
  `nombre` - Nombre de la asignatura
  `curso` - Curso al que pertenecera la asignatura
  `profesor` - Profesor que impartira la asignatura
Returns:
  Retorna un booleano dependiendo si la operacion se ejecuto correctamente, si no existe una asignatura con el mismo nombre en el curso, retornara true, si ocurre algun error o el nombre de la asignatura en el curso esta repetida, retorna false

#### modificarAsignatura

    public static boolean modificarAsignatura(Asignatura asignatura,
                                              java.lang.String nombre,
                                              Curso curso,
                                              Profesor profesor)

Modifica una asignatura del sistema

Parameters:
  `asignatura` - Asignatura la cual sera modificada
  `nombre` - nuevo nombre de la asignatura
  `curso` - nuevo curso de la asignatura
  `profesor` - nuevo profesor de la asignatura
Returns:
  Retorna un booleano indicando si la asignatura existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarAsignatura

    public static boolean eliminarAsignatura(Asignatura asignatura)

Elimina una asignatura y todos sus asociados.

Parameters:
  `asignatura` - Asignatura que se eliminara
Returns:
  Retorna un booleano indicando si se ejecuto correctamente y existe esa Asignatura en el sistema, si fue asi, retornara true, si no, false.

#### crearActividad

    public static boolean crearActividad(java.util.Date fecha,
                                         java.lang.String tipo,
                                         Asignatura asignatura)

Añade una nueva actividad en la base de datos

Parameters:
  `fecha` - Fecha en la que se realiza la actividad
  `tipo` - Tipo de la actividad, Prueba, Taller, etc.
  `asignatura` - Asignatura a la que pertence.
Returns:
  Retorna un booleano si es que se creo la actividad, false si no se pudo crear o si no existe, true si se creo con exito.

#### modificarActividad

    public static boolean modificarActividad(Actividad actividad,
                                             java.util.Date fecha,
                                             java.lang.String tipo,
                                             Asignatura asignatura)

Modifica una actividad del sistema

Parameters:
  `actividad` - Actividad a ser modificada
  `fecha` - nueva fecha de la actividad
  `tipo` - nuevo tipo de la actividad
  `asignatura` - nueva asignatura de la actividad
Returns:
  Retorna un booleano indicando si la actividad existe en el sistema y si la operacion se realizo correctamente, true si es asi y false si no.

#### eliminarActividad

    public static boolean eliminarActividad(Actividad actividad)

Elimina la actividad que se le entrega.

Parameters:
  `actividad` - Actividad que sera eliminada.
Returns:
  Retorna un booleano indicando si la eliminacion fue correcta, se considera incorrecta cuando la actividad no existe en la base de datos o ocurre algun error de parte de hibernate, retornara false cuando sea asi, si no retornara true.

#### fill

    public static void fill()

#### deleteAll

    public static void deleteAll()