Class DefaultTmaFindOrderEntryPriceStrategy

  • All Implemented Interfaces:
    de.hybris.platform.order.strategies.calculation.FindDiscountValuesStrategy, de.hybris.platform.order.strategies.calculation.FindPriceStrategy, de.hybris.platform.order.strategies.calculation.FindTaxValuesStrategy, de.hybris.platform.order.strategies.calculation.ServiceLayerOnlyCalculationVerifier, de.hybris.platform.servicelayer.user.UserNetCheckingStrategy, java.io.Serializable, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware

    public class DefaultTmaFindOrderEntryPriceStrategy
    extends de.hybris.platform.order.strategies.calculation.impl.FindPricingWithCurrentPriceFactoryStrategy
    Custom implementation for finding the base price for a given entry.
    Since:
    2007
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService

        de.hybris.platform.servicelayer.internal.service.AbstractService.SerializableDTO
    • Field Summary

      • Fields inherited from class de.hybris.platform.servicelayer.internal.service.AbstractBusinessService

        modelService, sessionService, txManager
      • Fields inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService

        tenant
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      de.hybris.platform.util.PriceValue findBasePrice​(AbstractOrderEntryModel entry)
      Determines the base price for the given {@param entry}.
      protected TmaBillingTimeService getBillingTimeService()  
      protected TmaCommercePriceService getCommercePriceService()  
      protected java.lang.Double getPriceAmount​(TmaProductOfferingPriceModel productOfferingPrice, BillingTimeModel billingTime, java.util.List<TmaProdOfferPriceAlterationModel> discounts)
      Returns the price amount of the given {@param productOfferingPrice} for the {@param billingTime}
      • Methods inherited from class de.hybris.platform.order.strategies.calculation.impl.FindPricingWithCurrentPriceFactoryStrategy

        afterPropertiesSet, findDiscountValues, findDiscountValues, findTaxValues, getCurrentPriceFactory, getDiscountInformation, getPriceInformation, getTaxInformation, isNetUser, setApplicationContext
      • Methods inherited from class de.hybris.platform.servicelayer.internal.service.AbstractBusinessService

        getModelService, getSessionService, getTxManager, setModelService, setSessionService, setTxManager
      • Methods inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService

        getCurrentTenant, setBeanName, setCurrentTenant, writeReplace
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface de.hybris.platform.order.strategies.calculation.ServiceLayerOnlyCalculationVerifier

        isSLOnly
    • Method Detail

      • findBasePrice

        public de.hybris.platform.util.PriceValue findBasePrice​(AbstractOrderEntryModel entry)
                                                         throws de.hybris.platform.order.exceptions.CalculationException
        Determines the base price for the given {@param entry}. The logic iterates over the entire PriceRowModel.getProductOfferingPrice() hierarchy and sums up the one time charges with pay on checkout price event.
        Specified by:
        findBasePrice in interface de.hybris.platform.order.strategies.calculation.FindPriceStrategy
        Overrides:
        findBasePrice in class de.hybris.platform.order.strategies.calculation.impl.FindPricingWithCurrentPriceFactoryStrategy
        Parameters:
        entry - the entry for which the base price is computed
        Returns:
        the base price amount
        Throws:
        de.hybris.platform.order.exceptions.CalculationException - in case no price is available for the given {@param entry}
      • getPriceAmount

        protected java.lang.Double getPriceAmount​(TmaProductOfferingPriceModel productOfferingPrice,
                                                  BillingTimeModel billingTime,
                                                  java.util.List<TmaProdOfferPriceAlterationModel> discounts)
        Returns the price amount of the given {@param productOfferingPrice} for the {@param billingTime}
        Parameters:
        productOfferingPrice - the price from which the amount of all one time charges is determined
        billingTime - the billing time against which the {@param productOfferingPrice} price event is checked
        discounts - the discounts to be applied to the price
        Returns:
        the price amount for the given {@param billingTime}