Class DataStore

java.lang.Object
repository.DataStore

public class DataStore extends Object
Clase singleton que actua como almacenamiento central de datos del sistema. Simula una base de datos en memoria gestionando cuentas bancarias, cajeros, historial global de transacciones y la logica de negocio. Contiene datos de prueba precargados para demostracion.
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
    • getCuenta

      public CuentaBancaria getCuenta(String numeroCuenta)
      Obtiene una cuenta bancaria por su numero de cuenta.
      Parameters:
      numeroCuenta - Numero de cuenta a buscar
      Returns:
      Cuenta bancaria encontrada o null si no existe
    • getAllCuentas

      public Map<String, CuentaBancaria> getAllCuentas()
      Obtiene todas las cuentas bancarias del sistema.
      Returns:
      Mapa de todas las cuentas indexadas por numero de cuenta
    • addCuenta

      public void addCuenta(CuentaBancaria cuenta)
      Agrega una nueva cuenta bancaria al sistema.
      Parameters:
      cuenta - Cuenta bancaria a agregar
    • updateCuenta

      public void updateCuenta(CuentaBancaria cuenta)
      Actualiza una cuenta bancaria existente en el sistema.
      Parameters:
      cuenta - Cuenta bancaria con los datos actualizados
    • registrarTransaccion

      public void registrarTransaccion(Transaccion transaccion)
      Registra una transaccion en el sistema. La agrega al historial global y la registra en la logica de negocio.
      Parameters:
      transaccion - Transaccion a registrar
    • getHistorialGlobal

      public Historial getHistorialGlobal()
      Obtiene el historial global de transacciones del sistema.
      Returns:
      Historial con todas las transacciones registradas
    • getCajeroActivo

      public Cajero getCajeroActivo()
      Obtiene el cajero actualmente activo en el sistema.
      Returns:
      Cajero activo
    • getLogicaNegocio

      public LogicaNegocio getLogicaNegocio()
      Obtiene la instancia de la logica de negocio del sistema.
      Returns:
      Logica de negocio para validaciones y reglas