Class Transaccion

java.lang.Object
model.transacciones.Transaccion
Direct Known Subclasses:
TransaccionDeposito, TransaccionRetiro, TransaccionTransferencia

public abstract class Transaccion extends Object
Clase abstracta que representa una transaccion bancaria generica. Contiene los atributos y comportamientos comunes a todos los tipos de transacciones (retiros, depositos, transferencias). Gestiona el estado de la transaccion, su identificador unico y el saldo posterior a la operacion.
Author:
ISC Israel de Jesus Mar Parada
See Also:
  • Field Details

    • idTransaccion

      protected String idTransaccion
      Identificador unico de la transaccion (formato: TXN-XXXXXXXX).
    • fechaHora

      protected LocalDateTime fechaHora
      Fecha y hora en que se realizo la transaccion.
    • monto

      protected BigDecimal monto
      Monto de dinero involucrado en la transaccion.
    • tipoTransaccion

      protected String tipoTransaccion
      Tipo de transaccion (RETIRO, DEPOSITO, TRANSFERENCIA).
    • estadoTransaccion

      protected String estadoTransaccion
      Estado actual de la transaccion (PENDIENTE, COMPLETADA, FALLIDA).
    • saldoPosterior

      protected BigDecimal saldoPosterior
      Saldo de la cuenta despues de ejecutar la transaccion.
    • descripcion

      protected String descripcion
      Descripcion o motivo adicional de la transaccion.
  • Constructor Details

    • Transaccion

      public Transaccion(BigDecimal monto, String tipoTransaccion)
      Constructor para crear una nueva transaccion. Inicializa la transaccion con un identificador unico, fecha y hora actual, monto especificado, tipo de transaccion y estado inicial "PENDIENTE".
      Parameters:
      monto - Monto de dinero involucrado en la transaccion
      tipoTransaccion - Tipo de transaccion (RETIRO, DEPOSITO, TRANSFERENCIA)
  • Method Details

    • completarTransaccion

      public void completarTransaccion(BigDecimal saldoFinal)
      Marca la transaccion como completada exitosamente. Actualiza el estado a "COMPLETADA" y registra el saldo final de la cuenta.
      Parameters:
      saldoFinal - Saldo de la cuenta despues de ejecutar la transaccion
    • fallarTransaccion

      public void fallarTransaccion(String motivo)
      Marca la transaccion como fallida. Actualiza el estado a "FALLIDA" y registra el motivo del fallo en la descripcion.
      Parameters:
      motivo - Razon por la cual la transaccion fallo
    • getIdTransaccion

      public String getIdTransaccion()
      Returns:
      Identificador unico de la transaccion
    • setIdTransaccion

      public void setIdTransaccion(String idTransaccion)
      Parameters:
      idTransaccion - Nuevo identificador de la transaccion
    • getFechaHora

      public LocalDateTime getFechaHora()
      Returns:
      Fecha y hora de la transaccion
    • setFechaHora

      public void setFechaHora(LocalDateTime fechaHora)
      Parameters:
      fechaHora - Nueva fecha y hora de la transaccion
    • getMonto

      public BigDecimal getMonto()
      Returns:
      Monto de la transaccion
    • setMonto

      public void setMonto(BigDecimal monto)
      Parameters:
      monto - Nuevo monto de la transaccion
    • getTipoTransaccion

      public String getTipoTransaccion()
      Returns:
      Tipo de transaccion (RETIRO, DEPOSITO, TRANSFERENCIA)
    • setTipoTransaccion

      public void setTipoTransaccion(String tipoTransaccion)
      Parameters:
      tipoTransaccion - Nuevo tipo de transaccion
    • getEstadoTransaccion

      public String getEstadoTransaccion()
      Returns:
      Estado actual de la transaccion (PENDIENTE, COMPLETADA, FALLIDA)
    • setEstadoTransaccion

      public void setEstadoTransaccion(String estadoTransaccion)
      Parameters:
      estadoTransaccion - Nuevo estado de la transaccion
    • getSaldoPosterior

      public BigDecimal getSaldoPosterior()
      Returns:
      Saldo posterior a la transaccion
    • setSaldoPosterior

      public void setSaldoPosterior(BigDecimal saldoPosterior)
      Parameters:
      saldoPosterior - Nuevo saldo posterior
    • getDescripcion

      public String getDescripcion()
      Returns:
      Descripcion o motivo de la transaccion
    • setDescripcion

      public void setDescripcion(String descripcion)
      Parameters:
      descripcion - Nueva descripcion de la transaccion
    • toString

      public String toString()
      Devuelve una representacion textual resumida de la transaccion. Formato: "fechaHora | tipo | $monto | estado"
      Overrides:
      toString in class Object
      Returns:
      Cadena con la informacion principal de la transaccion