Class DefaultSubscriptionPricingService

java.lang.Object
com.broadleafcommerce.cartoperation.service.pricing.DefaultSubscriptionPricingService
All Implemented Interfaces:
SubscriptionPricingService

public class DefaultSubscriptionPricingService extends Object implements SubscriptionPricingService
  • Constructor Details

    • DefaultSubscriptionPricingService

      public DefaultSubscriptionPricingService(SubscriptionOpsProvider subscriptionOpsProvider, CartSubscriptionUtils cartSubscriptionUtils, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
  • Method Details

    • priceSubscriptionItems

      public com.broadleafcommerce.cart.client.domain.Cart priceSubscriptionItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: SubscriptionPricingService
      After having gathered/applied all PriceList & Offer-based pricing considerations, consult SubscriptionOperationServices to determine how to apply these prices relative to recurring billing. This is especially applicable for declaring charges that are due now vs in future billing cycles.
      Specified by:
      priceSubscriptionItems in interface SubscriptionPricingService
      Parameters:
      cart - the cart whose subscription item prices are being evaluated & updated
      contextInfo - context surrounding sandboxing and multitenant state
      Returns:
      the cart with updated subscription pricing
    • applySubscriptionPriceResponse

      protected void applySubscriptionPriceResponse(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • populateDueNowDetails

      protected void populateDueNowDetails(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse)
    • populateDueNowDetailsForCartItems

      protected void populateDueNowDetailsForCartItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse)
    • calculateRoughDueNowUnitPrice

      protected javax.money.MonetaryAmount calculateRoughDueNowUnitPrice(@NonNull @NonNull SubscriptionItemPriceDetail dueNowItemDetail)
    • populatePreAndPostActionSubtotalDetails

      protected void populatePreAndPostActionSubtotalDetails(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse)
    • populatePreAndPostActionSubtotalDetailsForCartItems

      protected void populatePreAndPostActionSubtotalDetailsForCartItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse)
    • populatePreAndPostActionSubtotalDetailsForRemovedItems

      protected void populatePreAndPostActionSubtotalDetailsForRemovedItems(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem subscriptionRootItem, @NonNull @NonNull SubscriptionPriceResponse subscriptionPriceResponse)
    • findCartItemById

      @Nullable protected com.broadleafcommerce.cart.client.domain.CartItem findCartItemById(com.broadleafcommerce.cart.client.domain.CartItem cartItem, String cartItemId)
    • getSubscriptionOpsProvider

      protected SubscriptionOpsProvider getSubscriptionOpsProvider()
    • getCartSubscriptionUtils

      protected CartSubscriptionUtils getCartSubscriptionUtils()
    • getTypeFactory

      protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()