package productcatalog.pages;
import common.utils.PriceFormatter;
import productcatalog.models.ShopShippingRate;
import java.util.Optional;
public class ShippingRateDataFactory {
private final PriceFormatter priceFormatter;
private ShippingRateDataFactory(final PriceFormatter priceFormatter) {
this.priceFormatter = priceFormatter;
}
public ShippingRateData create(final ShopShippingRate shopShippingRate) {
return new ShippingRateData(
shopShippingRate.shippingMethodName,
"",
priceFormatter.format(shopShippingRate.shippingRate.getPrice()),
Optional.ofNullable(shopShippingRate.shippingRate.getFreeAbove()).map(priceFormatter::format).orElse("")
);
}
public static ShippingRateDataFactory of(final PriceFormatter priceFormatter) {
return new ShippingRateDataFactory(priceFormatter);
}
}