Class ProductPromotion
java.lang.Object
de.hybris.platform.util.BridgeAbstraction
de.hybris.platform.jalo.Item
de.hybris.platform.jalo.ExtensibleItem
de.hybris.platform.jalo.c2l.LocalizableItem
de.hybris.platform.jalo.GenericItem
de.hybris.platform.promotions.jalo.GeneratedAbstractPromotion
de.hybris.platform.promotions.jalo.AbstractPromotion
de.hybris.platform.promotions.jalo.GeneratedProductPromotion
de.hybris.platform.promotions.jalo.ProductPromotion
- All Implemented Interfaces:
Serializable,Comparable
- Direct Known Subclasses:
GeneratedProductBOGOFPromotion,GeneratedProductBundlePromotion,GeneratedProductFixedPricePromotion,GeneratedProductMultiBuyPromotion,GeneratedProductOneToOnePerfectPartnerPromotion,GeneratedProductPercentageDiscountPromotion,GeneratedProductPerfectPartnerBundlePromotion,GeneratedProductPerfectPartnerPromotion,GeneratedProductPriceDiscountPromotionByPaymentType,GeneratedProductSteppedMultiBuyPromotion,GeneratedProductThresholdPriceDiscountPromotion
Product Promotion.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.hybris.platform.jalo.GenericItem
GenericItem.GenericItemImplNested classes/interfaces inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LocalizableItem.LocalizableItemImplNested classes/interfaces inherited from class de.hybris.platform.jalo.ExtensibleItem
ExtensibleItem.ExtensibleItemImplNested classes/interfaces inherited from class de.hybris.platform.jalo.Item
Item.AttributeFilter, Item.AttributeMode, Item.CachedGetter, Item.CachedSetter, Item.ItemAttributeMap, Item.ItemConstraint, Item.ItemImpl, Item.JaloCachedComputationException -
Field Summary
Fields inherited from class de.hybris.platform.promotions.jalo.GeneratedProductPromotion
CATEGORIES, CATEGORYPROMOTIONRELATION_MARKMODIFIED, CATEGORYPROMOTIONRELATION_SRC_ORDERED, CATEGORYPROMOTIONRELATION_TGT_ORDERED, DEFAULT_INITIAL_ATTRIBUTES, PRODUCTBANNER, PRODUCTPROMOTIONRELATION_MARKMODIFIED, PRODUCTPROMOTIONRELATION_SRC_ORDERED, PRODUCTPROMOTIONRELATION_TGT_ORDERED, PRODUCTSFields inherited from class de.hybris.platform.promotions.jalo.GeneratedAbstractPromotion
CODE, DESCRIPTION, DETAILSURL, ENABLED, ENDDATE, IMMUTABLEKEY, IMMUTABLEKEYHASH, NAME, PRIORITY, PROMOTIONGROUP, PROMOTIONGROUPHANDLER, PROMOTIONTYPE, RESTRICTIONS, STARTDATE, TITLEFields inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LANGUAGE_FALLBACK_ENABLEDFields inherited from class de.hybris.platform.jalo.Item
_CREATION_TIME_INTERNAL, _MODIFIED_TIME_INTERNAL, accessorLog, CREATION_TIME, DISABLE_ATTRIBUTE_CHECK, DISABLE_ITEMCHECK_BEFORE_REMOVABLE, EVEN, FEATURE_ACCESSMAP_QUALIFIER, HJMPTS, INITIAL_CREATION_FLAG, isJaloOnly, MODIFIED_TIME, NEGATIVE, NOT_FOUND, OWNER, PK, POSITIVE, SAVE_FROM_SERVICE_LAYER, staticTransientObjects, TYPEFields inherited from class de.hybris.platform.util.BridgeAbstraction
impl, tenant -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbuildDataUniqueKey(SessionContext ctx, StringBuilder builder) Build a unique data driven key.protected PromotionsManager.RestrictionSetResultfindAllProducts(SessionContext ctx, PromotionEvaluationContext promoContext) Find all products that this promotion applies to by both direct association and via categories.protected PromotionsManager.RestrictionSetResultfindEligibleProductsInBasket(SessionContext ctx, PromotionEvaluationContext promoContext) Return the intersection of the set of products bound to this promotion and the current cart contents.Methods inherited from class de.hybris.platform.promotions.jalo.GeneratedProductPromotion
addToCategories, addToCategories, addToProducts, addToProducts, getCategories, getCategories, getCategoriesCount, getCategoriesCount, getDefaultAttributeModes, getProductBanner, getProductBanner, getProducts, getProducts, getProductsCount, getProductsCount, isMarkModifiedDisabled, removeFromCategories, removeFromCategories, removeFromProducts, removeFromProducts, setCategories, setCategories, setProductBanner, setProductBanner, setProducts, setProductsMethods inherited from class de.hybris.platform.promotions.jalo.AbstractPromotion
buildDataUniqueKeyForCategories, buildDataUniqueKeyForPriceRows, buildDataUniqueKeyForProducts, buildMD5Hash, buildPromotionResultDataUnigueKey, createImmutableDeepClone, createItem, deepCloneAttributes, deepClonePriceRows, deletePromotionPriceRows, evaluate, findImmutablePromotionByUniqueKey, findOrCreateImmutableClone, formatMessage, getAllPromotionType, getDataUniqueKey, getPriceForOrder, getPromotionResultDataUnigueKey, getPromotionType, getRestrictions, getResultDescription, remove, setPromotionGroup, setRestrictions, toStringMethods inherited from class de.hybris.platform.promotions.jalo.GeneratedAbstractPromotion
getAllName, getAllName, getAllPromotionType, getCode, getCode, getDescription, getDescription, getDetailsURL, getDetailsURL, getEndDate, getEndDate, getImmutableKey, getImmutableKey, getImmutableKeyHash, getImmutableKeyHash, getName, getName, getPriority, getPriority, getPriorityAsPrimitive, getPriorityAsPrimitive, getPromotionGroup, getPromotionGroup, getPromotionType, getRestrictions, getStartDate, getStartDate, getTitle, getTitle, isEnabled, isEnabled, isEnabledAsPrimitive, isEnabledAsPrimitive, setAllName, setAllName, setCode, setCode, setDescription, setDescription, setDetailsURL, setDetailsURL, setEnabled, setEnabled, setEnabled, setEnabled, setEndDate, setEndDate, setImmutableKey, setImmutableKey, setImmutableKeyHash, setImmutableKeyHash, setName, setName, setPriority, setPriority, setPriority, setPriority, setPromotionGroup, setRestrictions, setStartDate, setStartDate, setTitle, setTitleMethods inherited from class de.hybris.platform.jalo.GenericItem
getImplementation, getInitialProperties, getNonInitialAttributes, getRelatedItems, getRelatedItems, setRelatedItemsMethods inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllValuesSessionContext, getLocalizedProperty, getLocalizedProperty, getLocalizedPropertyInternal, getLocalizedPropertyNames, getLocalizedPropertyNames, hasLanguage, isEmptyValue, isFallbackEnabled, removeLocalizedProperty, removeLocalizedProperty, setAllLocalizedProperties, setAllLocalizedProperties, setLocalizedProperty, setLocalizedPropertyMethods inherited from class de.hybris.platform.jalo.ExtensibleItem
createNonClassAccessor, getAllProperties, getAllProperties, getProperty, getProperty, getPropertyNames, getPropertyNames, removeProperty, removeProperty, setAllProperties, setAllProperties, setProperty, setPropertyMethods inherited from class de.hybris.platform.jalo.Item
addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addNegativePermission, addPermission, addPositivePermission, assureExtensionsLoaded, changeTypeAfterCreation, checkConstraint, checkItemPermission, checkMandatoryAttribute, checkMandatoryAttribute, checkPermission, checkPermission, checkRemovable, clearPermission, compareTo, ctx, doAfterRemove, doBeforeRemove, equals, getAccessorFor, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributesInternal, getAllLinkedItems, getAndCheckCacheBoundItem, getAttribute, getAttribute, getCacheBoundItem, getComposedType, getComposedTypePK, getCreationTime, getCurrentlyRemovingCount, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItemsCount, getLinkedItemsCount, getLinkedItemsCount, getModificationTime, getNegativePermissions, getOwner, getPartOfRemovedSessionMarker, getPermissionMap, getPermissions, getPersistenceVersion, getPK, getPositivePermissions, getRestrictedPrincipals, getSession, getSyncObject, getTenant, getTransientObject, getTransientObjectMap, hashCode, hasRegisteredClassAccessorFor, internal_registerClassAccessorFor, internal_registerNonClassAccessorFor, invalidateLocalCaches, isAlive, isCacheBound, isCurrentlyRemoving, isCurrentlyRemoving, isEmptyRelationValue, isInCreate, isInstanceOf, isItemCheckBeforeRemoveableDisabled, isRelationLocalizationFallbackEnabled, newInstance, notifyExtensionsAfterItemCreation, notifyExtensionsBeforeItemCreation, notifyItemRemoval, notifyManagerAboutItemRemoval, readResolve, registerAccessFor, registerAccessFor, registerJaloInvalidationListeners, remove, removeItemCollection, removeItemCollection, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinks, removePartOfItems, removePartOfItems, setAllAttributes, setAllAttributes, setAllAttributesInternal, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAttribute, setAttribute, setAttributeFromString, setAttributeFromString, setCacheBound, setComposedType, setCreationTime, setImplementation, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setModificationTime, setNonInitialAttributes, setOwner, setPermissionsByMap, setTransientObject, setUseTA, suppressRelation, useTA, writeReplaceMethods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
Constructor Details
-
ProductPromotion
public ProductPromotion()
-
-
Method Details
-
findAllProducts
protected PromotionsManager.RestrictionSetResult findAllProducts(SessionContext ctx, PromotionEvaluationContext promoContext) Find all products that this promotion applies to by both direct association and via categories.- Parameters:
ctx-promoContext-- Returns:
- A list of Products
-
findEligibleProductsInBasket
protected PromotionsManager.RestrictionSetResult findEligibleProductsInBasket(SessionContext ctx, PromotionEvaluationContext promoContext) Return the intersection of the set of products bound to this promotion and the current cart contents.- Parameters:
ctx- The hybris contextpromoContext- The promotion evaluation context- Returns:
- The set of products that are associated with this promotion and available in the cart or order.
-
buildDataUniqueKey
Description copied from class:AbstractPromotionBuild a unique data driven key. Build a unique key that is data driven. This will uniquely identify the rules used in this promotion and will form the immutable key for stored promotions. This method may be overridden in a subclass to customize the identifier.- Overrides:
buildDataUniqueKeyin classAbstractPromotion- Parameters:
ctx- The hybris contextbuilder- AStringBuilderused to build up the immutable key
-