Class FixedFulfillmentPricingProvider
java.lang.Object
com.broadleafcommerce.shipping.fixed.provider.FixedFulfillmentPricingProvider
- All Implemented Interfaces:
FulfillmentPricingProvider
@Deprecated
public class FixedFulfillmentPricingProvider
extends Object
implements FulfillmentPricingProvider
Deprecated.
Since 1.7.0. Moved to shipping service.
Simple implementation of
FulfillmentPricingProvider for implementations that require
fixed shipping configuration for it's fulfillment options. For banded or tiered shipping, see
BandedFulfillmentPricingProvider. Alternatively, a FulfillmentPricingProvider
integrated with a 3rd party, such as ShipEngine, is preferred.
This implementation takes in a FixedFulfillmentPricingConfig provided by
FixedFulfillmentPricingProperties.getConfigPath(). This property can be configured with
Spring Config Server, including
Broadleaf's own implementation. This will allow changes to the property value to be reinitialized
by this provider, as long as the declaring bean for this provider is annotated with
@RefreshScope.
- Author:
- Chad Harchar (charchar)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionFixedFulfillmentPricingProvider(com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, FixedFulfillmentPricingProperties fixedShipProps) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionprotected FulfillmentOptionPricedResponsebuildFulfillmentOptionPricedResponse(@NonNull javax.money.MonetaryAmount price, @NonNull Map<FulfillmentPricingItem, javax.money.MonetaryAmount> itemToPriceMap, @NonNull FixedFulfillmentPricingOption fulfillmentOption, boolean isEstimate) Deprecated.Builds aFulfillmentOptionPricedResponsewith the given inputs.protected Map<FulfillmentPricingItem,javax.money.MonetaryAmount> buildItemToPriceMap(@NonNull FulfillmentPricingRequest request, @NonNull FixedFulfillmentPricingOption option) Deprecated.Builds a map ofFulfillmentPricingItemsto the calculated prices.calculateCostForFulfillmentGroup(@NonNull FulfillmentPricingRequest request) Deprecated.Calculate shipping for a request that includes a specified fulfillment option.protected FulfillmentOptionPricedResponsecalculateCostForFulfillmentGroupInternal(@NonNull FulfillmentPricingRequest request, boolean isEstimate) Deprecated.Handles the shared logic ofcalculateCostForFulfillmentGroup(FulfillmentPricingRequest)andestimateCostForFulfillmentGroup(FulfillmentPricingRequest).protected javax.money.MonetaryAmountcalculateFixedPriceForItem(@NonNull FulfillmentPricingItem item, @NonNull FixedFulfillmentPricingOption option, @NonNull javax.money.CurrencyUnit currency) Deprecated.protected javax.money.MonetaryAmountcalculateFulfillmentGroupPriceBeforeAdjustments(@NonNull FixedFulfillmentPricingOption option, javax.money.CurrencyUnit expectedCurrency) Deprecated.protected javax.money.MonetaryAmountcalculatePercentageRateForItem(@NonNull FulfillmentPricingItem item, @NonNull FixedFulfillmentPricingOption option, @NonNull javax.money.CurrencyUnit currency) Deprecated.protected javax.money.MonetaryAmountcalculatePercentageRateForItems(@NonNull FulfillmentPricingItem item, @NonNull FixedFulfillmentPricingOption option, @NonNull javax.money.CurrencyUnit currency) Deprecated.protected javax.money.MonetaryAmountcalculatePriceForItem(@NonNull FulfillmentPricingItem item, @NonNull FixedFulfillmentPricingOption option, @NonNull javax.money.CurrencyUnit currency) Deprecated.protected javax.money.MonetaryAmountcalculatePriceForItems(@NonNull FulfillmentPricingItem item, @NonNull FixedFulfillmentPricingOption option, @NonNull javax.money.CurrencyUnit currency) Deprecated.Calculates the price for a fulfillment items.booleancanCalculateCostForOption(@NonNull String option) Deprecated.Whether this provider has knowledge of the provided option and thus can provide cost information for it.booleancanProvidePricedFulfillmentOptions(FulfillmentPricingRequest fulfillmentPricingRequest) Deprecated.Whether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"estimateCostForFulfillmentGroup(@NonNull FulfillmentPricingRequest request) Deprecated.Estimate shipping for a request that includes a specified fulfillment option.protected FixedFulfillmentPricingOptiongetDefaultFixedFulfillmentPricingOption(javax.money.CurrencyUnit expectedCurrency) Deprecated.Builds aFixedFulfillmentPricingOptionwith fields initialized to typical values.protected FixedFulfillmentPricingConfigDeprecated.protected FixedFulfillmentPricingPropertiesDeprecated.protected javax.money.MonetaryAmountgetMonetaryAmount(javax.money.CurrencyUnit expectedCurrency, Set<FulfillmentPriceAmount> fulfillmentPriceAmounts) Deprecated.Find the corresponding price for the expected currency, otherwise return zero.protected com.fasterxml.jackson.databind.ObjectMapperDeprecated.protected com.broadleafcommerce.common.extension.TypeFactoryDeprecated.voidinit()Deprecated.Reads in the configuration file defined byFixedFulfillmentPricingProperties.getConfigPath()and initializesfixedFulfillmentPricingConfigto the result.protected voidpreRequest(FulfillmentPricingRequest fulfillmentPricingRequest) Deprecated.providePricedFulfillmentOptions(@NonNull FulfillmentPricingRequest request) Deprecated.Retrieve all possible priced fulfillment options for the provided request.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.broadleafcommerce.shipping.FulfillmentPricingProvider
getFulfillmentOptionPricingResponses
-
Constructor Details
-
FixedFulfillmentPricingProvider
public FixedFulfillmentPricingProvider(com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, FixedFulfillmentPricingProperties fixedShipProps) Deprecated.
-
-
Method Details
-
init
@PostConstruct public void init()Deprecated.Reads in the configuration file defined byFixedFulfillmentPricingProperties.getConfigPath()and initializesfixedFulfillmentPricingConfigto the result.- Throws:
UncheckedIOException- Thrown when there is an error while reading the configuration file or converting its contents into aFixedFulfillmentPricingConfig.IllegalStateException- Thrown when there is not configuration file defined byFixedFulfillmentPricingProperties.getConfigPath().
-
calculateCostForFulfillmentGroup
public FulfillmentOptionPricedResponse calculateCostForFulfillmentGroup(@NonNull @NonNull FulfillmentPricingRequest request) Deprecated.Description copied from interface:FulfillmentPricingProviderCalculate shipping for a request that includes a specified fulfillment option.- Specified by:
calculateCostForFulfillmentGroupin interfaceFulfillmentPricingProvider- Parameters:
request- The request for which to calculate shipping.- Returns:
- Response object with calculated shipping cost for the provided request.
-
canCalculateCostForOption
Deprecated.Description copied from interface:FulfillmentPricingProviderWhether this provider has knowledge of the provided option and thus can provide cost information for it.- Specified by:
canCalculateCostForOptionin interfaceFulfillmentPricingProvider- Parameters:
option- The option to consider whether this provider can calculate cost information.- Returns:
- Whether this provider has knowledge of the provided option and thus can provide cost information for it.
-
estimateCostForFulfillmentGroup
public FulfillmentOptionPricedResponse estimateCostForFulfillmentGroup(@NonNull @NonNull FulfillmentPricingRequest request) Deprecated.Description copied from interface:FulfillmentPricingProviderEstimate shipping for a request that includes a specified fulfillment option.- Specified by:
estimateCostForFulfillmentGroupin interfaceFulfillmentPricingProvider- Parameters:
request- The request for which to estimate shipping.- Returns:
- Response object with estimated shipping cost for the provided request.
-
providePricedFulfillmentOptions
public List<FulfillmentOptionPricedResponse> providePricedFulfillmentOptions(@NonNull @NonNull FulfillmentPricingRequest request) Deprecated.Description copied from interface:FulfillmentPricingProviderRetrieve all possible priced fulfillment options for the provided request. Intended to be used to display options to the customer for selection.- Specified by:
providePricedFulfillmentOptionsin interfaceFulfillmentPricingProvider- Parameters:
request- The request for which to calculate shipping and return options.- Returns:
- All possible priced fulfillment options for the provided request.
-
canProvidePricedFulfillmentOptions
public boolean canProvidePricedFulfillmentOptions(FulfillmentPricingRequest fulfillmentPricingRequest) Deprecated.Description copied from interface:FulfillmentPricingProviderWhether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"- Specified by:
canProvidePricedFulfillmentOptionsin interfaceFulfillmentPricingProvider- Parameters:
fulfillmentPricingRequest- The request used to identify relevant fulfillment options- Returns:
- Whether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"
-
buildItemToPriceMap
protected Map<FulfillmentPricingItem,javax.money.MonetaryAmount> buildItemToPriceMap(@NonNull @NonNull FulfillmentPricingRequest request, @NonNull @NonNull FixedFulfillmentPricingOption option) Deprecated.Builds a map ofFulfillmentPricingItemsto the calculated prices.- Parameters:
request- The request for which to calculate shippingoption- The fulfillment option to use to calculate pricing for therequest- Returns:
- a map of
FulfillmentPricingItemsto the calculated prices.
-
calculateCostForFulfillmentGroupInternal
protected FulfillmentOptionPricedResponse calculateCostForFulfillmentGroupInternal(@NonNull @NonNull FulfillmentPricingRequest request, boolean isEstimate) Deprecated.Handles the shared logic ofcalculateCostForFulfillmentGroup(FulfillmentPricingRequest)andestimateCostForFulfillmentGroup(FulfillmentPricingRequest). -
buildFulfillmentOptionPricedResponse
protected FulfillmentOptionPricedResponse buildFulfillmentOptionPricedResponse(@NonNull @NonNull javax.money.MonetaryAmount price, @NonNull @NonNull Map<FulfillmentPricingItem, javax.money.MonetaryAmount> itemToPriceMap, @NonNull @NonNull FixedFulfillmentPricingOption fulfillmentOption, boolean isEstimate) Deprecated.Builds aFulfillmentOptionPricedResponsewith the given inputs.- Parameters:
price- The value to set forFulfillmentOptionPricedResponse.getFulfillmentPriceCalculated().itemToPriceMap- Map ofFulfillmentPricingItemsto their fulfillment pricesfulfillmentOption- TheFulfillmentOptionthat forms the basis of the responseisEstimate- Whether this is for estimating the fulfillment pricing- Returns:
- a
FulfillmentOptionPricedResponsefor the given inputs.
-
calculateFulfillmentGroupPriceBeforeAdjustments
protected javax.money.MonetaryAmount calculateFulfillmentGroupPriceBeforeAdjustments(@NonNull @NonNull FixedFulfillmentPricingOption option, javax.money.CurrencyUnit expectedCurrency) Deprecated. -
getMonetaryAmount
protected javax.money.MonetaryAmount getMonetaryAmount(javax.money.CurrencyUnit expectedCurrency, @Nullable Set<FulfillmentPriceAmount> fulfillmentPriceAmounts) Deprecated.Find the corresponding price for the expected currency, otherwise return zero.- Parameters:
expectedCurrency- The expected currency to find a price forfulfillmentPriceAmounts- The list of prices to search against- Returns:
- the corresponding price for the expected currency, otherwise return zero
-
calculatePriceForItem
@Deprecated protected javax.money.MonetaryAmount calculatePriceForItem(@NonNull @NonNull FulfillmentPricingItem item, @NonNull @NonNull FixedFulfillmentPricingOption option, @NonNull @NonNull javax.money.CurrencyUnit currency) Deprecated.Calculates the price for a fulfillment item. By default this means the price for a single unit rather than all like units, i.e.,FulfillmentPricingItem.getUnitPrice()is used notFulfillmentPricingItem.getSubtotal().- Parameters:
item- TheFulfillmentPriceInfoitem to be pricedoption- The applicableFixedFulfillmentPricingOptionfor theitem- Returns:
- the price for a fulfillment item.
-
calculatePriceForItems
protected javax.money.MonetaryAmount calculatePriceForItems(@NonNull @NonNull FulfillmentPricingItem item, @NonNull @NonNull FixedFulfillmentPricingOption option, @NonNull @NonNull javax.money.CurrencyUnit currency) Deprecated.Calculates the price for a fulfillment items. By default this means the price for all units, i.e.,FulfillmentPricingItem.getMerchandiseTotalAmount().- Parameters:
item- TheFulfillmentPriceInfoitem to be pricedoption- The applicableFixedFulfillmentPricingOptionfor theitem- Returns:
- the price for a fulfillment items.
-
calculateFixedPriceForItem
protected javax.money.MonetaryAmount calculateFixedPriceForItem(@NonNull @NonNull FulfillmentPricingItem item, @NonNull @NonNull FixedFulfillmentPricingOption option, @NonNull @NonNull javax.money.CurrencyUnit currency) Deprecated. -
calculatePercentageRateForItem
@Deprecated protected javax.money.MonetaryAmount calculatePercentageRateForItem(@NonNull @NonNull FulfillmentPricingItem item, @NonNull @NonNull FixedFulfillmentPricingOption option, @NonNull @NonNull javax.money.CurrencyUnit currency) Deprecated. -
calculatePercentageRateForItems
protected javax.money.MonetaryAmount calculatePercentageRateForItems(@NonNull @NonNull FulfillmentPricingItem item, @NonNull @NonNull FixedFulfillmentPricingOption option, @NonNull @NonNull javax.money.CurrencyUnit currency) Deprecated. -
getDefaultFixedFulfillmentPricingOption
protected FixedFulfillmentPricingOption getDefaultFixedFulfillmentPricingOption(javax.money.CurrencyUnit expectedCurrency) Deprecated.Builds aFixedFulfillmentPricingOptionwith fields initialized to typical values.- Returns:
- a
FixedFulfillmentPricingOptionwith fields initialized to typical values.
-
preRequest
Deprecated. -
getObjectMapper
protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()Deprecated. -
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()Deprecated. -
getFixedShipProps
Deprecated. -
getFixedFulfillmentPricingConfig
Deprecated.
-