Class Funcion

java.lang.Object
model.cartelera.Funcion

public class Funcion extends Object
Clase que representa una funcion de cine, que es la proyeccion de una pelicula en una sala a una fecha y hora especifica. Gestiona la disponibilidad de asientos, ocupacion, calculo de hora de finalizacion y el estado de la funcion.
Version:
1.0
Author:
ISC Israel de Jesus Mar Parada
See Also:
  • Constructor Details

    • Funcion

      public Funcion(String idFuncion, LocalDateTime fechaFuncion, LocalTime horaInicio)
      Constructor para crear una nueva funcion. Inicializa la funcion con estado DISPONIBLE, asientos disponibles y ocupados en cero.
      Parameters:
      idFuncion - Identificador unico de la funcion
      fechaFuncion - Fecha de la funcion
      horaInicio - Hora de inicio de la funcion
  • Method Details

    • CalcularHoraFin

      public void CalcularHoraFin()
      Calcula la hora de finalizacion de la funcion. Suma la duracion de la pelicula (en minutos) a la hora de inicio. Requiere que la pelicula y la hora de inicio esten definidas.
    • ActualizarDisponibilidad

      public void ActualizarDisponibilidad()
      Actualiza la disponibilidad de asientos de la funcion. Recalcula asientos disponibles, ocupados y el porcentaje de ocupacion basado en el estado actual de la sala.
    • ValidarDisponibilidad

      public boolean ValidarDisponibilidad(int cantidad)
      Valida si hay suficientes asientos disponibles para una reserva.
      Parameters:
      cantidad - Numero de asientos que se desea reservar
      Returns:
      true si hay suficientes asientos disponibles
    • ocuparAsientos

      public void ocuparAsientos(int cantidad)
      Marca una cantidad de asientos como ocupados. Incrementa asientos ocupados y disminuye asientos disponibles.
      Parameters:
      cantidad - Numero de asientos a ocupar
    • getIdFuncion

      public String getIdFuncion()
      Returns:
      Identificador unico de la funcion
    • setIdFuncion

      public void setIdFuncion(String idFuncion)
      Parameters:
      idFuncion - Nuevo identificador de funcion
    • getFechaFuncion

      public LocalDateTime getFechaFuncion()
      Returns:
      Fecha de la funcion
    • setFechaFuncion

      public void setFechaFuncion(LocalDateTime fechaFuncion)
      Parameters:
      fechaFuncion - Nueva fecha de funcion
    • getHoraInicio

      public LocalTime getHoraInicio()
      Returns:
      Hora de inicio
    • setHoraInicio

      public void setHoraInicio(LocalTime horaInicio)
      Parameters:
      horaInicio - Nueva hora de inicio
    • getHoraFin

      public LocalTime getHoraFin()
      Returns:
      Hora de finalizacion
    • setHoraFin

      public void setHoraFin(LocalTime horaFin)
      Parameters:
      horaFin - Nueva hora de finalizacion
    • getPrecioBaseFuncion

      public BigDecimal getPrecioBaseFuncion()
      Returns:
      Precio base de la funcion
    • setPrecioBaseFuncion

      public void setPrecioBaseFuncion(BigDecimal precioBaseFuncion)
      Parameters:
      precioBaseFuncion - Nuevo precio base
    • getIdPelicula

      public String getIdPelicula()
      Returns:
      Identificador de la pelicula
    • setIdPelicula

      public void setIdPelicula(String idPelicula)
      Parameters:
      idPelicula - Nuevo identificador de pelicula
    • getIdSala

      public String getIdSala()
      Returns:
      Identificador de la sala
    • setIdSala

      public void setIdSala(String idSala)
      Parameters:
      idSala - Nuevo identificador de sala
    • getEstadoFuncion

      public String getEstadoFuncion()
      Returns:
      Estado de la funcion
    • setEstadoFuncion

      public void setEstadoFuncion(String estadoFuncion)
      Parameters:
      estadoFuncion - Nuevo estado
    • getAsientosDisponibles

      public int getAsientosDisponibles()
      Returns:
      Asientos disponibles
    • setAsientosDisponibles

      public void setAsientosDisponibles(int asientosDisponibles)
      Parameters:
      asientosDisponibles - Nueva cantidad de asientos disponibles
    • getAsientosOcupados

      public int getAsientosOcupados()
      Returns:
      Asientos ocupados
    • setAsientosOcupados

      public void setAsientosOcupados(int asientosOcupados)
      Parameters:
      asientosOcupados - Nueva cantidad de asientos ocupados
    • getPorcentajeOcupacion

      public BigDecimal getPorcentajeOcupacion()
      Returns:
      Porcentaje de ocupacion
    • setPorcentajeOcupacion

      public void setPorcentajeOcupacion(BigDecimal porcentajeOcupacion)
      Parameters:
      porcentajeOcupacion - Nuevo porcentaje de ocupacion
    • isEsFuncionEstreno

      public boolean isEsFuncionEstreno()
      Returns:
      true si es funcion de estreno
    • setEsFuncionEstreno

      public void setEsFuncionEstreno(boolean esFuncionEstreno)
      Parameters:
      esFuncionEstreno - Nuevo estado de estreno
    • isEsFuncionPreventa

      public boolean isEsFuncionPreventa()
      Returns:
      true si tiene preventa disponible
    • setEsFuncionPreventa

      public void setEsFuncionPreventa(boolean esFuncionPreventa)
      Parameters:
      esFuncionPreventa - Nuevo estado de preventa
    • getTipoIdiomaFuncion

      public String getTipoIdiomaFuncion()
      Returns:
      Tipo de idioma de la funcion
    • setTipoIdiomaFuncion

      public void setTipoIdiomaFuncion(String tipoIdiomaFuncion)
      Parameters:
      tipoIdiomaFuncion - Nuevo tipo de idioma
    • getPelicula

      public Pelicula getPelicula()
      Returns:
      Referencia a la pelicula
    • setPelicula

      public void setPelicula(Pelicula pelicula)
      Establece la pelicula de la funcion. Actualiza automaticamente el idPelicula y recalcula la hora de fin.
      Parameters:
      pelicula - Pelicula a asignar
    • getSala

      public Sala getSala()
      Returns:
      Referencia a la sala
    • setSala

      public void setSala(Sala sala)
      Establece la sala de la funcion. Actualiza automaticamente el idSala y los asientos disponibles.
      Parameters:
      sala - Sala a asignar
    • toString

      public String toString()
      Devuelve una representacion textual de la funcion. Formato: "fecha horaInicio - tituloPelicula | Disp: asientosDisponibles"
      Overrides:
      toString in class Object
      Returns:
      Cadena con la informacion principal de la funcion