Class TmaAbstractProcessFlowStrategy

    • Field Detail

      • PRODUCT_OPTIONS

        protected static final java.util.List<ProductOption> PRODUCT_OPTIONS
      • BPO_OPTIONS

        protected static final java.util.List<ProductOption> BPO_OPTIONS
    • Constructor Detail

      • TmaAbstractProcessFlowStrategy

        public TmaAbstractProcessFlowStrategy()
    • Method Detail

      • getRequiredProducts

        protected abstract java.util.Set<TmaProductOfferingModel> getRequiredProducts​(java.util.Set<java.lang.String> requiredProductCodes)
        Creates a Set of TmaProductOfferingModel required products, used for obtaining price override.
        Parameters:
        requiredProductCodes - codes of the required products
        Returns:
        a Set of TmaProductOfferingModel
      • getProduct

        protected ProductData getProduct​(java.lang.String productCode)
      • getBpo

        protected ProductData getBpo​(java.lang.String bpoCode)
      • setProductPriceFromBpo

        @Deprecated(since="1810",
                    forRemoval=true)
        protected void setProductPriceFromBpo​(java.lang.String productCode,
                                              java.lang.String bpoCode,
                                              java.lang.String requiredProductCode,
                                              ProductData productData)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Parameters:
        productCode -
        bpoCode -
        requiredProductCode -
        productData -
      • setProductPriceFromBpo

        protected void setProductPriceFromBpo​(java.lang.String productCode,
                                              java.lang.String bpoCode,
                                              java.util.Set<java.lang.String> requiredProductCode,
                                              ProductData productData)
      • setProductPriceFromBpo

        protected void setProductPriceFromBpo​(TmaOfferContextData offerContextData,
                                              ProductData productData)
        Sets the mainSpoPriceInBpo for the productData provided to the lowestPrice applicable.
        Parameters:
        offerContextData - contains the parameters for the offer
        productData - the productData for which the price will be set
      • hasSubscriptionTerm

        protected boolean hasSubscriptionTerm​(TmaProductOfferingModel product,
                                              TmaBundledProductOfferingModel parentBpo,
                                              TmaProcessType processType,
                                              java.lang.String subscriptionTermId)
        Checks if the provided subscription term is in the prices of the productOffering, parentBpo and processType provided.
        Parameters:
        product - the product
        parentBpo - the parent of the product
        processType - the process type
        subscriptionTermId - the identifier of the subscription term
        Returns:
        True if provided subscription term is in the prices of the product and its parent, otherwise false.
      • setProductOfferFacade

        public void setProductOfferFacade​(TmaProductOfferFacade productOfferFacade)
      • setPoService

        public void setPoService​(TmaPoService poService)
      • getSessionService

        protected de.hybris.platform.servicelayer.session.SessionService getSessionService()
      • setSessionService

        public void setSessionService​(de.hybris.platform.servicelayer.session.SessionService sessionService)
      • setTmaPriceFacade

        public void setTmaPriceFacade​(TmaPriceFacade tmaPriceFacade)
      • getTmaOfferConverter

        protected de.hybris.platform.servicelayer.dto.converter.Converter<ProductData,​TmaOfferData> getTmaOfferConverter()
      • setTmaOfferConverter

        public void setTmaOfferConverter​(de.hybris.platform.servicelayer.dto.converter.Converter<ProductData,​TmaOfferData> tmaOfferConverter)