Class DataStore

java.lang.Object
repository.DataStore

public class DataStore extends Object
Clase singleton que actua como almacenamiento central de datos del sistema de cine. Simula una base de datos en memoria gestionando salas, peliculas, funciones, clientes y reservas. Contiene datos de prueba precargados para demostracion.
Version:
1.0
Author:
ISC Israel de Jesus Mar Parada
See Also:
  • Method Details

    • getInstance

      public static DataStore getInstance()
      Obtiene la instancia unica del DataStore. Si no existe, la crea por primera vez.
      Returns:
      Instancia unica del DataStore
    • getSala

      public Sala getSala(String id)
      Parameters:
      id - Identificador de la sala
      Returns:
      Sala encontrada o null si no existe
    • getAllSalas

      public List<Sala> getAllSalas()
      Returns:
      Lista de todas las salas
    • getPelicula

      public Pelicula getPelicula(String id)
      Parameters:
      id - Identificador de la pelicula
      Returns:
      Pelicula encontrada o null si no existe
    • getAllPeliculas

      public List<Pelicula> getAllPeliculas()
      Returns:
      Lista de todas las peliculas
    • getFuncion

      public Funcion getFuncion(String id)
      Parameters:
      id - Identificador de la funcion
      Returns:
      Funcion encontrada o null si no existe
    • getAllFunciones

      public List<Funcion> getAllFunciones()
      Returns:
      Lista de todas las funciones
    • getCliente

      public Cliente getCliente(String id)
      Parameters:
      id - Identificador del cliente
      Returns:
      Cliente encontrado o null si no existe
    • getClienteByDocumento

      public Cliente getClienteByDocumento(String documento)
      Busca un cliente por su numero de documento de identidad.
      Parameters:
      documento - Documento de identidad del cliente
      Returns:
      Cliente encontrado o null si no existe
    • addCliente

      public void addCliente(Cliente cliente)
      Parameters:
      cliente - Cliente a agregar
    • getAllClientes

      public List<Cliente> getAllClientes()
      Returns:
      Lista de todos los clientes
    • getReserva

      public Reserva getReserva(String id)
      Parameters:
      id - Identificador de la reserva
      Returns:
      Reserva encontrada o null si no existe
    • getAllReservas

      public List<Reserva> getAllReservas()
      Returns:
      Lista de todas las reservas
    • generarIdReserva

      public String generarIdReserva()
      Genera un nuevo identificador unico para una reserva. Formato: "R" + numero incremental (empieza en 1000).
      Returns:
      Nuevo identificador de reserva
    • addReserva

      public void addReserva(Reserva reserva)
      Parameters:
      reserva - Reserva a agregar
    • updateFuncion

      public void updateFuncion(Funcion funcion)
      Parameters:
      funcion - Funcion a actualizar
    • updateCliente

      public void updateCliente(Cliente cliente)
      Parameters:
      cliente - Cliente a actualizar
    • getFuncionesPorPelicula

      public List<Funcion> getFuncionesPorPelicula(String idPelicula)
      Obtiene todas las funciones de una pelicula especifica.
      Parameters:
      idPelicula - Identificador de la pelicula
      Returns:
      Lista de funciones de esa pelicula
    • getFuncionesPorSala

      public List<Funcion> getFuncionesPorSala(String idSala)
      Obtiene todas las funciones en una sala especifica.
      Parameters:
      idSala - Identificador de la sala
      Returns:
      Lista de funciones en esa sala
    • getFuncionesDisponibles

      public List<Funcion> getFuncionesDisponibles()
      Obtiene todas las funciones que aun tienen asientos disponibles.
      Returns:
      Lista de funciones con disponibilidad