Class TmaAbstractProcessFlowStrategy
java.lang.Object
de.hybris.platform.b2ctelcofacades.strategy.impl.TmaAbstractProcessFlowStrategy
- All Implemented Interfaces:
TmaProcessFlowStrategy
- Direct Known Subclasses:
TmaRetentionStrategy,TmaTariffChangeStrategy
public abstract class TmaAbstractProcessFlowStrategy
extends Object
implements TmaProcessFlowStrategy
Base class for particular strategies' implementations.
- Since:
- 6.7
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final List<ProductOption>protected static final List<ProductOption> -
Constructor Summary
ConstructorsConstructorDescriptionTmaAbstractProcessFlowStrategy(de.hybris.platform.servicelayer.user.UserService userService) -
Method Summary
Modifier and TypeMethodDescriptionprotected ProductDataprotected TmaPoServiceprotected TmaProcessTypeprotected ProductDatagetProduct(String productCode) protected TmaProductOfferFacadeprotected abstract Set<TmaProductOfferingModel>getRequiredProducts(String requiredProductCode) Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.protected abstract Set<TmaProductOfferingModel>getRequiredProducts(Set<String> requiredProductCodes) Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.protected de.hybris.platform.servicelayer.session.SessionServiceprotected TmaSubscriptionTermServiceprotected de.hybris.platform.servicelayer.dto.converter.Converter<ProductData,TmaOfferData> protected TmaPriceFacadede.hybris.platform.servicelayer.user.UserServiceprotected booleanhasSubscriptionTerm(TmaProductOfferingModel product, TmaBundledProductOfferingModel parentBpo, TmaProcessType processType, String subscriptionTermId) Checks if the provided subscription term is in the prices of the productOffering, parentBpo and processType provided.voidsetPoService(TmaPoService poService) voidsetProductOfferFacade(TmaProductOfferFacade productOfferFacade) protected voidsetProductPriceFromBpo(TmaOfferContextData offerContextData, ProductData productData) Sets the mainSpoPriceInBpo for the productData provided to the lowestPrice applicable.protected voidsetProductPriceFromBpo(String productCode, String bpoCode, Set<String> requiredProductCode, ProductData productData) voidsetSessionService(de.hybris.platform.servicelayer.session.SessionService sessionService) voidsetSubscriptionTermService(TmaSubscriptionTermService subscriptionTermService) voidsetTmaOfferConverter(de.hybris.platform.servicelayer.dto.converter.Converter<ProductData, TmaOfferData> tmaOfferConverter) voidsetTmaPriceFacade(TmaPriceFacade tmaPriceFacade) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.hybris.platform.b2ctelcofacades.strategy.TmaProcessFlowStrategy
getOffers, getOffersForDeviceInBpo, getOffersForDeviceOnly
-
Field Details
-
PRODUCT_OPTIONS
-
BPO_OPTIONS
-
-
Constructor Details
-
TmaAbstractProcessFlowStrategy
public TmaAbstractProcessFlowStrategy(de.hybris.platform.servicelayer.user.UserService userService)
-
-
Method Details
-
getRequiredProducts
Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.- Parameters:
requiredProductCode- code of the required product- Returns:
- a
SetofTmaProductOfferingModel
-
getRequiredProducts
protected abstract Set<TmaProductOfferingModel> getRequiredProducts(Set<String> requiredProductCodes) Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.- Parameters:
requiredProductCodes- codes of the required products- Returns:
- a
SetofTmaProductOfferingModel
-
getProduct
-
getBpo
-
setProductPriceFromBpo
protected void setProductPriceFromBpo(String productCode, String bpoCode, Set<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 offerproductData- the productData for which the price will be set
-
hasSubscriptionTerm
protected boolean hasSubscriptionTerm(TmaProductOfferingModel product, TmaBundledProductOfferingModel parentBpo, TmaProcessType processType, String subscriptionTermId) Checks if the provided subscription term is in the prices of the productOffering, parentBpo and processType provided.- Parameters:
product- the productparentBpo- the parent of the productprocessType- the process typesubscriptionTermId- the identifier of the subscription term- Returns:
- True if provided subscription term is in the prices of the product and its parent, otherwise false.
-
getProcessTypeFromSession
-
getProductOfferFacade
-
setProductOfferFacade
-
getPoService
-
setPoService
-
getSessionService
protected de.hybris.platform.servicelayer.session.SessionService getSessionService() -
setSessionService
public void setSessionService(de.hybris.platform.servicelayer.session.SessionService sessionService) -
getTmaPriceFacade
-
setTmaPriceFacade
-
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) -
getSubscriptionTermService
-
setSubscriptionTermService
-
getUserService
public de.hybris.platform.servicelayer.user.UserService getUserService()
-