Interface Acto

All Known Implementing Classes:
ActoImpl

public interface Acto
Define las características y comportamientos específicos de un acto.

Un acto es un evento o actividad que se lleva a cabo en una instalación específica y puede tener múltiples anfitriones que invitan a personas a asistir. Cada acto tiene un nombre, descripción, estado, fecha, fecha límite de registro, tipo y configuración de zonas.

  • Method Details

    • getNombre

      String getNombre()
      Obtiene el nombre del acto.
      Returns:
      el nombre del acto.
    • setNombre

      void setNombre(String nombre)
      Asigna o establece el nombre del acto.
      Parameters:
      nombre - el nombre a establecer para el acto.
    • getDescripcion

      String getDescripcion()
      Obtiene la descripción detallada del acto.
      Returns:
      la descripción del acto.
    • setDescripcion

      void setDescripcion(String descripcion)
      Asigna o establece la descripción del acto.
      Parameters:
      descripcion - la descripción a establecer para el acto.
    • getInstalacion

      Instalacion getInstalacion()
      Obtiene la instalación específica donde se llevará a cabo el acto.
      Returns:
      la Instalacion asociada al acto.
    • setInstalacion

      void setInstalacion(Instalacion instalacion)
      Asigna o establece la instalación donde se llevará a cabo el acto.
      Parameters:
      instalacion - la Instalacion a asociar al acto.
    • getEstado

      EstadoActo getEstado()
      Obtiene el estado actual del acto, que puede indicar si está planificado, en curso, finalizado, etc.
      Returns:
      el EstadoActo del acto.
    • setEstado

      void setEstado(EstadoActo estado)
      Asigna o establece el estado del acto.
      Parameters:
      estado - el EstadoActo a establecer para el acto.
    • getFecha

      ZonedDateTime getFecha()
      Obtiene la fecha y hora de inicio del acto.
      Returns:
      la fecha y hora de inicio del acto.
    • setFecha

      void setFecha(ZonedDateTime fecha)
      Asigna o establece la fecha y hora de inicio del acto.
      Parameters:
      fecha - la fecha y hora de inicio a establecer para el acto.
    • getFechaLimiteRegistro

      ZonedDateTime getFechaLimiteRegistro()
      Obtiene la fecha y hora límite hasta la cual se pueden registrar invitados para el acto.
      Returns:
      la fecha y hora límite de registro.
    • setFechaLimiteRegistro

      void setFechaLimiteRegistro(ZonedDateTime fechaLimiteRegistro)
      Asigna o establece la fecha y hora límite para el registro de invitados al acto.
      Parameters:
      fechaLimiteRegistro - la fecha y hora límite a establecer.
    • getTipo

      TipoDeActo getTipo()
      Obtiene el tipo específico del acto, que puede indicar si es una conferencia, taller, ceremonia, etc.
      Returns:
      el TipoDeActo del acto.
    • setTipo

      void setTipo(TipoDeActo tipo)
      Asigna o establece el tipo del acto.
      Parameters:
      tipo - el TipoDeActo a establecer para el acto.
    • getEstadoCreacion

      EstadoCreacion getEstadoCreacion()
      Obtiene el estado actual de creación del acto. Este método refleja el progreso o el estado de desarrollo en el que se encuentra el acto.
      Returns:
      El EstadoCreacion del acto.
    • setEstadoCreacion

      void setEstadoCreacion(EstadoCreacion estadoCreacion)
      Establece el estado de creación del acto. Este método permite actualizar el estado de desarrollo o progreso en el que se encuentra el acto.
      Parameters:
      estadoCreacion - El nuevo EstadoCreacion a establecer para el acto.
    • getZonas

      List<ZonaConfigurada> getZonas()
      Obtiene el conjunto de zonas configuradas asociadas al acto.
      Returns:
      un conjunto de ZonaConfiguradas asociadas al acto.
    • setZonas

      void setZonas(List<ZonaConfigurada> zonas)
      Asigna o establece el conjunto de zonas configuradas para el acto.
      Parameters:
      zonas - el conjunto de ZonaConfiguradas a establecer.
    • getAnfitriones

      <T extends Anfitrion> Set<T> getAnfitriones()
      Obtiene el conjunto de anfitriones que han extendido invitaciones para el acto.
      Returns:
      un conjunto de Anfitrions asociados al acto.
    • setAnfitriones

      <T extends Anfitrion> void setAnfitriones(Set<T> anfitriones)
      Asigna o establece el conjunto de anfitriones que han extendido invitaciones para el acto.
      Parameters:
      anfitriones - el conjunto de Anfitrions a establecer.
    • agregarAnfitrion

      void agregarAnfitrion(Anfitrion anfitrion)
      Agrega un anfitrión específico al conjunto de anfitriones del acto. Este método permite incluir un nuevo anfitrión, ampliando así las posibilidades de invitación y gestión del acto.
      Parameters:
      anfitrion - el Anfitrion a agregar al acto. No debe ser null.
    • quitarAnfitrion

      void quitarAnfitrion(Anfitrion anfitrion)
      Elimina o quita un anfitrión específico del conjunto de anfitriones del acto. Al quitar un anfitrión, se reducen las asociaciones y responsabilidades ligadas a este en el contexto del acto.
      Parameters:
      anfitrion - el Anfitrion a quitar del acto. No debe ser null.
    • getInvitacionesPorActo

      Set<InvitacionesPorActo> getInvitacionesPorActo()
      Obtiene las invitaciones por acto que el anfitrión ha extendido. Este método proporciona un conjunto de todas las invitaciones asociadas a un acto, permitiendo una gestión y seguimiento efectivo de los invitados.
      Returns:
      Conjunto de InvitacionesPorActo, nunca null.
    • setInvitacionesPorActo

      void setInvitacionesPorActo(Set<InvitacionesPorActo> invitacionesPorActo)
      Establece las invitaciones por acto que el anfitrión ha extendido. Este método permite actualizar el conjunto de invitaciones asociadas al acto, brindando control sobre quién está invitado y cómo se gestionan estas invitaciones.
      Parameters:
      invitacionesPorActo - Conjunto de InvitacionesPorActo a establecer. No debe ser null.
    • agregarInvitacionesPorActo

      void agregarInvitacionesPorActo(InvitacionesPorActo invitacionPorActo)
      Agrega una invitación por acto. Este método añade una nueva invitación al conjunto de invitaciones del acto, permitiendo la inclusión de más invitados o la modificación de los detalles de una invitación existente.
      Parameters:
      invitacionPorActo - la invitación por acto a agregar. No debe ser null.
    • quitarInvitacionesPorActo

      void quitarInvitacionesPorActo(InvitacionesPorActo invitacionPorActo)
      Quita una invitación por acto. Este método elimina una invitación específica del conjunto de invitaciones del acto, lo que puede afectar a los invitados asociados a dicha invitación.
      Parameters:
      invitacionPorActo - la invitación por acto a quitar. No debe ser null.
    • agregarZonaConfigurada

      void agregarZonaConfigurada(ZonaConfigurada zona)
      Agrega una zona configurada específica al conjunto de zonas del acto.
      Parameters:
      zona - la ZonaConfigurada a agregar al acto.
    • quitarZonaConfigurada

      void quitarZonaConfigurada(ZonaConfigurada zona)
      Elimina o quita una zona configurada específica del conjunto de zonas del acto.
      Parameters:
      zona - la ZonaConfigurada a quitar del acto.
    • getNumeroLocalidadesTotales

      default int getNumeroLocalidadesTotales()
      Calcula y devuelve el número total de localidades entre todas las zonas configuradas del acto.
      Returns:
      Número total de localidades.
    • getNumeroLocalidadesPorEstado

      default int getNumeroLocalidadesPorEstado(EstadoDeUnaLocalidad estado)
      Calcula y devuelve el número total de localidades entre todas las zonas configuradas del acto según el estado. Este método facilita la gestión y planificación de espacios según su estado, como disponibles, ocupadas, reservadas, etc.
      Parameters:
      estado - filtro por estado de la localidad.
      Returns:
      Número total de localidades en ese estado. Cero si no hay localidades que coincidan.
    • getNumeroLocalidadesPorEstadoYTipoDeZona

      default int getNumeroLocalidadesPorEstadoYTipoDeZona(TipoDeZona tipo, EstadoDeUnaLocalidad estado)
      Calcula y devuelve el número total de localidades según el estado y el tipo de zona especificados. Este método es útil para obtener una vista detallada de las localidades, filtradas tanto por su estado (como libre, ocupada, etc.) como por el tipo de zona (como Tribuna, Acotado, etc.).
      Parameters:
      tipo - El TipoDeZona por el cual filtrar las localidades.
      estado - El EstadoDeUnaLocalidad de las localidades a contar.
      Returns:
      El número total de localidades que cumplen con los criterios especificados.
    • getNumeroLocalidadesParaRepartir

      default int getNumeroLocalidadesParaRepartir()
      Calcula y devuelve el número total de localidades disponibles para repartir entre todas las zonas, excluyendo las zonas de estacionamiento. Este método es importante para la planificación y distribución de espacios en el acto, permitiendo una gestión efectiva de las localidades disponibles.
      Returns:
      El número total de localidades disponibles para repartir, excluyendo zonas de estacionamiento.
    • getNumeroLocalidadesParaRepartirPorTipoDeZona

      default int getNumeroLocalidadesParaRepartirPorTipoDeZona(TipoDeZona tipo)
      Calcula y devuelve el número total de localidades disponibles para repartir en un tipo específico de zona. Este método es útil para la gestión detallada de las localidades en zonas específicas, como VIP o general, facilitando su organización y asignación.
      Parameters:
      tipo - El TipoDeZona por el cual filtrar las localidades disponibles.
      Returns:
      El número total de localidades disponibles para repartir en la zona especificada.
    • getUnidadesDeFormacion

      default String[] getUnidadesDeFormacion()
      Obtiene un array de las unidades de formación únicas asociadas al acto basado en sus anfitriones. Este método proporciona una vista de las diferentes unidades de formación representadas por los anfitriones del acto, útil para la planificación y el análisis estadístico.
      Returns:
      un array de Strings con las unidades de formación únicas asociadas al acto. Nunca null, pero puede estar vacío.
    • getInvitados

      default Set<Invitado> getInvitados()
      Obtiene todos los invitados de todas las invitaciones asociadas al acto. Este método compila un conjunto de todos los invitados, independientemente de su zona asignada o estado.
      Returns:
      Un conjunto de Invitado que incluye a todos los invitados al acto. Nunca null.
    • getInvitadosPorTipoDeZona

      default Set<Invitado> getInvitadosPorTipoDeZona(TipoDeZona tipoDeZona)
      Obtiene todos los invitados asignados a un tipo específico de zona. Este método es útil para la gestión de invitados en zonas diferenciadas del acto, como Acotado, Tribuna, etc.
      Parameters:
      tipoDeZona - El TipoDeZona por el cual filtrar los invitados.
      Returns:
      Un conjunto de Invitado asignados a la zona especificada. Nunca null.
    • getInvitadosSinAsignar

      default Set<Invitado> getInvitadosSinAsignar()
      Obtiene todos los invitados que aún no han sido asignados a una localidad. Este método es útil para identificar invitados que requieren asignación de localidades.
      Returns:
      Un conjunto de Invitado sin una localidad asignada. Nunca null.
    • getInvitadosAsignados

      default Set<Invitado> getInvitadosAsignados()
      Obtiene todos los invitados que han sido asignados a una localidad. Este método permite identificar a los invitados que ya tienen una localidad asignado en el acto.
      Returns:
      Un conjunto de Invitado con una localidad asignada. Nunca null.
    • getVehiculosAsignados

      default Set<Coche> getVehiculosAsignados()
      Obtiene todos los vehículos asignados a zonas de estacionamiento. Este método es importante para la gestión y control de los espacios de estacionamiento en el acto.
      Returns:
      Un conjunto de Coche asignados a zonas de estacionamiento. Nunca null.
    • getInvitadosAsignadosPorTipoDeZona

      default Set<Invitado> getInvitadosAsignadosPorTipoDeZona(TipoDeZona tipoDeZona)
      Obtiene todos los invitados asignados a un tipo específico de zona. Este método es útil para el manejo detallado de invitados en zonas específicas, facilitando su organización y control.
      Parameters:
      tipoDeZona - El TipoDeZona por el cual filtrar los invitados asignados.
      Returns:
      Un conjunto de Invitado asignados a la zona especificada. Nunca null.
    • getInvitadosSinAsignarPorTipoDeZona

      default Set<Invitado> getInvitadosSinAsignarPorTipoDeZona(TipoDeZona tipoDeZona)
      Obtiene todos los invitados no asignados a un tipo específico de zona. Este método permite identificar invitados pendientes de asignación en zonas específicas del acto.
      Parameters:
      tipoDeZona - El TipoDeZona por el cual filtrar los invitados sin asignar.
      Returns:
      Un conjunto de Invitado sin asignar en la zona especificada. Nunca null.
    • getLocalidadesPorEstado

      default List<LocalidadConfigurada> getLocalidadesPorEstado(EstadoLocalidad estado)
      Obtiene todas las localidades configuradas en una zona específica según su estado. Este método es crucial para el seguimiento y gestión de las localidades según su disponibilidad o uso.
      Parameters:
      estado - El estado de las localidades a filtrar.
      Returns:
      Una lista de LocalidadConfigurada en el estado especificado. Nunca null.
    • getLocalidades

      default List<LocalidadConfigurada> getLocalidades()
      Obtiene una lista de todas las localidades configuradas en el acto. Este método proporciona una visión general de todas las localidades, independientemente de su estado o zona.
      Returns:
      Una lista de todas las LocalidadConfigurada en el acto. Nunca null.
    • getZonasConfiguradasPorTipo

      default List<ZonaConfigurada> getZonasConfiguradasPorTipo(TipoDeZona tipoDeZona)
      Obtiene una lista de todas las zonas configuradas de un tipo específico. Este método facilita la gestión y el acceso a zonas específicas, como Tribuna, Acotado, etc.
      Parameters:
      tipoDeZona - El TipoDeZona por el cual filtrar las zonas.
      Returns:
      Una lista de ZonaConfigurada del tipo especificado. Nunca null.
    • quitarAnfitriones

      default void quitarAnfitriones()
      Elimina todos los anfitriones asociados al acto. Este método es útil para reiniciar o limpiar la lista de anfitriones asociados al acto.