Class AnfitrionImpl

java.lang.Object
es.mdef.gaip_libreria.invitados.PersonaImpl
es.mdef.gaip_libreria.anfitriones.AnfitrionImpl
All Implemented Interfaces:
Anfitrion, Persona, Comparable<Anfitrion>

public class AnfitrionImpl extends PersonaImpl implements Anfitrion
Implementación concreta de la interfaz Anfitrion. Representa a un anfitrión con capacidad para invitar personas a actos, vinculado a una unidad de formación, y con un conjunto de invitaciones por acto que ha extendido.
  • Constructor Details

    • AnfitrionImpl

      public AnfitrionImpl(String empleo, String nombre, String primerApellido, String segundoApellido, String unidadDeFormacion, String email)
      Constructor para crear un anfitrión con detalles específicos.
      Parameters:
      empleo - Empleo del anfitrión.
      nombre - Nombre del anfitrión.
      primerApellido - Primer apellido del anfitrión.
      segundoApellido - Segundo apellido del anfitrión.
      unidadDeFormacion - Unidad de formación a la que pertenece el anfitrión.
      email - Email del anfitrión.
  • Method Details

    • setActos

      public <T extends Acto> void setActos(Set<T> actos)
      Establece los actos asociados al anfitrión, asegurando la coherencia en la relación bidireccional.
      Specified by:
      setActos in interface Anfitrion
      Type Parameters:
      T - Tipo genérico que extiende de Acto.
      Parameters:
      actos - Conjunto de actos a asociar con este anfitrión.
    • setInvitacionesPorActo

      public <T extends InvitacionesPorActo> void setInvitacionesPorActo(Set<T> invitacionesPorActo)
      Establece las invitaciones por acto para el anfitrión, manteniendo la coherencia bidireccional.
      Specified by:
      setInvitacionesPorActo in interface Anfitrion
      Type Parameters:
      T - Tipo genérico que extiende de InvitacionesPorActo.
      Parameters:
      invitacionesPorActo - Conjunto de invitaciones por acto.
    • agregarInvitacionesPorActo

      public void agregarInvitacionesPorActo(InvitacionesPorActo invitacionPorActo)
      Agrega una invitación por acto al conjunto de invitaciones del anfitrión, estableciendo la relación bidireccional.
      Specified by:
      agregarInvitacionesPorActo in interface Anfitrion
      Parameters:
      invitacionPorActo - Invitación por acto a agregar.
    • quitarInvitacionesPorActo

      public void quitarInvitacionesPorActo(InvitacionesPorActo invitacionPorActo)
      Elimina una invitación por acto del conjunto de invitaciones del anfitrión, rompiendo la relación bidireccional.
      Specified by:
      quitarInvitacionesPorActo in interface Anfitrion
      Parameters:
      invitacionPorActo - Invitación por acto a eliminar.
    • agregarActo

      public void agregarActo(Acto acto)
      Agrega un acto al conjunto de actos del anfitrión, asegurando la coherencia en la relación bidireccional.
      Specified by:
      agregarActo in interface Anfitrion
      Parameters:
      acto - Acto a agregar.
    • quitarActo

      public void quitarActo(Acto acto)
      Elimina un acto del conjunto de actos del anfitrión, manteniendo la coherencia en la relación bidireccional.
      Specified by:
      quitarActo in interface Anfitrion
      Parameters:
      acto - Acto a eliminar.
    • compararPorCantidadDeInvitadosDeUnTipoDeZona

      public int compararPorCantidadDeInvitadosDeUnTipoDeZona(Acto acto, TipoDeZona tipo, Anfitrion anfitrion1, Anfitrion anfitrion2)
      Compara dos anfitriones por la cantidad de invitados de un tipo de zona en un acto específico.
      Specified by:
      compararPorCantidadDeInvitadosDeUnTipoDeZona in interface Anfitrion
      Parameters:
      acto - Acto específico para la comparación.
      tipo - Tipo de zona específico para la comparación.
      anfitrion1 - Primer anfitrión a comparar.
      anfitrion2 - Segundo anfitrión a comparar.
      Returns:
      Valor negativo, cero o positivo si el primer anfitrión tiene menos, igual o más invitados que el segundo anfitrión, respectivamente.
    • compareTo

      public int compareTo(Anfitrion o)
      Compara este anfitrión con otro basándose en la unidad de formación. Esta implementación de compareTo proporciona una forma de ordenar anfitriones primariamente por su unidad de formación.
      Specified by:
      compareTo in interface Comparable<Anfitrion>
      Parameters:
      o - El anfitrión con el que se compara.
      Returns:
      un valor negativo si esta unidad de formación es menor que la del anfitrión argumento, un valor positivo si es mayor, y 0 si son iguales.