RentalCostCalculationConfig.java
package com.github.jenkaby.bikerental.tariff.application.config;
import com.github.jenkaby.bikerental.shared.application.service.MessageService;
import com.github.jenkaby.bikerental.shared.config.RentalProperties;
import com.github.jenkaby.bikerental.tariff.application.strategy.ForgivenessStrategy;
import com.github.jenkaby.bikerental.tariff.application.strategy.ThresholdForgivenessStrategy;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
class RentalCostCalculationConfig {
@Bean
ForgivenessStrategy forgivenessStrategy(
RentalProperties rentalProperties,
MessageService messageService) {
return new ThresholdForgivenessStrategy(
rentalProperties.forgiveness(),
messageService
);
}
}