Class Bono

java.lang.Object
es.uca.dss.fastpark.Bono

public class Bono extends Object
La clase Bono representa un bono en el sistema de FastPark. Contiene información sobre su identificador único, período de validez, precio y el vehículo asociado.
  • Constructor Details

    • Bono

      public Bono()
    • Bono

      public Bono(Periodo periodoStrategy, Vehiculo vehiculo)
      Constructor para crear un nuevo Bono con un período de validez y vehículo especificados. La fecha de inicio se establece automáticamente en el momento de la creación.
      Parameters:
      periodoStrategy - El período de validez del bono.
      vehiculo - El vehículo asociado al bono.
    • Bono

      public Bono(LocalDateTime inicio, LocalDateTime caducidad, Periodo periodoStrategy, Vehiculo vehiculo)
      Constructor para crear un nuevo Bono con una fecha de inicio, fecha de caducidad, período de validez y vehículo especificados.
      Parameters:
      inicio - La fecha de inicio del bono.
      caducidad - La fecha de caducidad del bono.
      periodoStrategy - El período de validez del bono.
      vehiculo - El vehículo asociado al bono.
  • Method Details

    • getId

      public UUID getId()
      Obtiene el ID del bono.
      Returns:
      El ID del bono.
    • setId

      public void setId(UUID id)
      Establece un nuevo ID para el bono.
      Parameters:
      id - El nuevo ID del bono.
    • getFechaInicio

      public LocalDateTime getFechaInicio()
      Obtiene la fecha de inicio del bono.
      Returns:
      La fecha de inicio del bono.
    • setFechaInicio

      public void setFechaInicio(LocalDateTime inicio)
      Establece una nueva fecha de inicio para el bono.
      Parameters:
      inicio - La nueva fecha de inicio del bono.
    • getCaducidad

      public LocalDateTime getCaducidad()
      Obtiene la fecha de caducidad del bono.
      Returns:
      La fecha de caducidad del bono.
    • setCaducidad

      public void setCaducidad(LocalDateTime caducidad)
      Establece una nueva fecha de caducidad para el bono.
      Parameters:
      caducidad - La nueva fecha de caducidad del bono.
    • getPeriodoStrategy

      public Periodo getPeriodoStrategy()
      Obtiene el período de validez del bono.
      Returns:
      El período de validez del bono.
    • setPeriodoStrategy

      public void setPeriodoStrategy(Periodo periodoStrategy)
      Establece un nuevo período de validez para el bono.
      Parameters:
      periodoStrategy - El nuevo período de validez del bono.
    • getVehiculo

      public Vehiculo getVehiculo()
      Obtiene el vehículo asociado al bono.
      Returns:
      El vehículo asociado al bono.
    • setVehiculo

      public void setVehiculo(Vehiculo vehiculo)
      Establece un nuevo vehículo asociado al bono.
      Parameters:
      vehiculo - El nuevo vehículo asociado al bono.
    • calcularCaducidad

      public LocalDateTime calcularCaducidad()
      Calcula la fecha de caducidad del bono según el período de validez especificado.
      Returns:
      La fecha de caducidad calculada.
    • estaActivo

      public boolean estaActivo(LocalDateTime actual)
      Verifica si el bono está activo en la fecha especificada.
      Parameters:
      actual - La fecha actual para verificar la activación del bono.
      Returns:
      true si el bono está activo, false de lo contrario.
    • calcularPrecio

      public BigDecimal calcularPrecio()
      Calcula el precio del bono según el período de validez especificado.
      Returns:
      El precio del bono calculado.