Class Sala

java.lang.Object
model.infraestructura.Sala

public class Sala extends Object
Clase que representa una sala de cine dentro del complejo. Contiene informacion sobre la capacidad, tecnologias de sonido e imagen, y el mapa de asientos distribuidos en filas. Permite generar automaticamente los asientos con una distribucion: 10% Premium (ultimas filas), 20% VIP y 70% Normal.
Version:
1.0
Author:
ISC Israel de Jesus Mar Parada
See Also:
  • Constructor Details

    • Sala

      public Sala(String idSala, String nombreSala, int filas, int asientosPorFila)
      Constructor para crear una nueva sala de cine. Inicializa la sala con tecnologias por defecto: sonido Dolby 7.1, imagen 2K Digital y tipo ESTANDAR.
      Parameters:
      idSala - Identificador unico de la sala
      nombreSala - Nombre descriptivo de la sala
      filas - Numero de filas de asientos
      asientosPorFila - Numero de asientos por fila
  • Method Details

    • GenerarMapaAsientos

      public void GenerarMapaAsientos()
      Genera el mapa completo de asientos de la sala. Distribuye los asientos de la siguiente manera: - 10% Premium (ultimas filas): precio base $15,000 - 20% VIP (siguientes filas): precio base $12,000 - 70% Normal (resto): precio base $8,000 Asigna coordenadas X e Y para la representacion visual y establece la ubicacion de la sala.
    • ObtenerAsientosDisponibles

      public List<Asiento> ObtenerAsientosDisponibles()
      Obtiene la lista de asientos actualmente disponibles en la sala.
      Returns:
      Lista de asientos con estado DISPONIBLE
    • ValidarCapacidad

      public boolean ValidarCapacidad(int cantidad)
      Valida si la cantidad solicitada de asientos no supera la capacidad total.
      Parameters:
      cantidad - Cantidad de asientos a validar
      Returns:
      true si la cantidad es menor o igual a la capacidad total
    • buscarAsiento

      public Asiento buscarAsiento(String idAsiento)
      Busca un asiento por su identificador unico.
      Parameters:
      idAsiento - Identificador del asiento a buscar
      Returns:
      Asiento encontrado o null si no existe
    • getIdSala

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

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

      public String getNombreSala()
      Returns:
      Nombre descriptivo de la sala
    • setNombreSala

      public void setNombreSala(String nombreSala)
      Parameters:
      nombreSala - Nuevo nombre de la sala
    • getCapacidadTotal

      public int getCapacidadTotal()
      Returns:
      Capacidad total de la sala
    • setCapacidadTotal

      public void setCapacidadTotal(int capacidadTotal)
      Parameters:
      capacidadTotal - Nueva capacidad total
    • getFilas

      public int getFilas()
      Returns:
      Numero de filas de asientos
    • setFilas

      public void setFilas(int filas)
      Parameters:
      filas - Nuevo numero de filas
    • getAsientosPorFila

      public int getAsientosPorFila()
      Returns:
      Numero de asientos por fila
    • setAsientosPorFila

      public void setAsientosPorFila(int asientosPorFila)
      Parameters:
      asientosPorFila - Nuevo numero de asientos por fila
    • getTipoSala

      public String getTipoSala()
      Returns:
      Tipo de sala (ESTANDAR, 3D, IMAX, DBOX)
    • setTipoSala

      public void setTipoSala(String tipoSala)
      Parameters:
      tipoSala - Nuevo tipo de sala
    • getTecnologiaSonido

      public String getTecnologiaSonido()
      Returns:
      Tecnologia de sonido
    • setTecnologiaSonido

      public void setTecnologiaSonido(String tecnologiaSonido)
      Parameters:
      tecnologiaSonido - Nueva tecnologia de sonido
    • getTecnologiaImagen

      public String getTecnologiaImagen()
      Returns:
      Tecnologia de imagen
    • setTecnologiaImagen

      public void setTecnologiaImagen(String tecnologiaImagen)
      Parameters:
      tecnologiaImagen - Nueva tecnologia de imagen
    • getMapaAsientos

      public List<Asiento> getMapaAsientos()
      Returns:
      Lista completa de asientos de la sala
    • setMapaAsientos

      public void setMapaAsientos(List<Asiento> mapaAsientos)
      Parameters:
      mapaAsientos - Nueva lista de asientos