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 java.lang.Object implements TmaProcessFlowStrategy
Base class for particular strategies' implementations.- Since:
- 6.7
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.List<ProductOption>BPO_OPTIONSprotected static java.util.List<ProductOption>PRODUCT_OPTIONS
-
Constructor Summary
Constructors Constructor Description TmaAbstractProcessFlowStrategy()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected ProductDatagetBpo(java.lang.String bpoCode)protected TmaPoServicegetPoService()protected ProductDatagetProduct(java.lang.String productCode)protected TmaProductOfferFacadegetProductOfferFacade()protected abstract java.util.Set<TmaProductOfferingModel>getRequiredProducts(java.lang.String requiredProductCode)Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.protected abstract java.util.Set<TmaProductOfferingModel>getRequiredProducts(java.util.Set<java.lang.String> requiredProductCodes)Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.protected de.hybris.platform.servicelayer.session.SessionServicegetSessionService()protected TmaSubscriptionTermServicegetSubscriptionTermService()protected de.hybris.platform.servicelayer.dto.converter.Converter<ProductData,TmaOfferData>getTmaOfferConverter()protected TmaPriceFacadegetTmaPriceFacade()protected booleanhasSubscriptionTerm(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.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(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.since 1810.protected voidsetProductPriceFromBpo(java.lang.String productCode, java.lang.String bpoCode, java.util.Set<java.lang.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, wait
-
Methods inherited from interface de.hybris.platform.b2ctelcofacades.strategy.TmaProcessFlowStrategy
getOffers, getOffersForDeviceInBpo, getOffersForDeviceInBpo, getOffersForDeviceOnly
-
-
-
-
Field Detail
-
PRODUCT_OPTIONS
protected static final java.util.List<ProductOption> PRODUCT_OPTIONS
-
BPO_OPTIONS
protected static final java.util.List<ProductOption> BPO_OPTIONS
-
-
Method Detail
-
getRequiredProducts
protected abstract java.util.Set<TmaProductOfferingModel> getRequiredProducts(java.lang.String requiredProductCode)
Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.- Parameters:
requiredProductCode- code of the required product- Returns:
- a
SetofTmaProductOfferingModel
-
getRequiredProducts
protected abstract java.util.Set<TmaProductOfferingModel> getRequiredProducts(java.util.Set<java.lang.String> requiredProductCodes)
Creates aSetofTmaProductOfferingModelrequired products, used for obtaining price override.- Parameters:
requiredProductCodes- codes of the required products- Returns:
- a
SetofTmaProductOfferingModel
-
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.since 1810. Use insteadsetProductPriceFromBpo(String, String, Set, ProductData)- 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 offerproductData- 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 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.
-
getProductOfferFacade
protected TmaProductOfferFacade getProductOfferFacade()
-
setProductOfferFacade
public void setProductOfferFacade(TmaProductOfferFacade productOfferFacade)
-
getPoService
protected TmaPoService getPoService()
-
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)
-
getTmaPriceFacade
protected TmaPriceFacade getTmaPriceFacade()
-
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)
-
getSubscriptionTermService
protected TmaSubscriptionTermService getSubscriptionTermService()
-
setSubscriptionTermService
public void setSubscriptionTermService(TmaSubscriptionTermService subscriptionTermService)
-
-