Class ProductMultiBuyPromotion
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
de.hybris.platform.promotions.jalo.GeneratedProductMultiBuyPromotion
de.hybris.platform.promotions.jalo.ProductMultiBuyPromotion
- All Implemented Interfaces:
Serializable,Comparable
- Direct Known Subclasses:
GeneratedAcceleratorProductMultiBuyPromotion
Buy a certain number of items for a fixed package price. For example: Buy any 3 for €20.00 or any other
combination of required quantity and price. The items must all be from the range of qualifying products.
- 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.GeneratedProductMultiBuyPromotion
BUNDLEPRICES, DEFAULT_INITIAL_ATTRIBUTES, MESSAGECOULDHAVEFIRED, MESSAGEFIRED, QUALIFYINGCOUNTFields inherited from class de.hybris.platform.promotions.jalo.GeneratedProductPromotion
CATEGORIES, CATEGORYPROMOTIONRELATION_MARKMODIFIED, CATEGORYPROMOTIONRELATION_SRC_ORDERED, CATEGORYPROMOTIONRELATION_TGT_ORDERED, 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 voiddeepCloneAttributes(SessionContext ctx, Map values) Called to deep clone attributes of this instance The values map contains all the attributes defined on this instance.evaluate(SessionContext ctx, PromotionEvaluationContext promoContext) Evaluate whether a promotion can fire or not.getResultDescription(SessionContext ctx, PromotionResult promotionResult, Locale locale) Get a localized user presentable description for the result of this promotion.voidremove(SessionContext ctx) Removes the item.Methods inherited from class de.hybris.platform.promotions.jalo.GeneratedProductMultiBuyPromotion
getAllMessageCouldHaveFired, getAllMessageCouldHaveFired, getAllMessageFired, getAllMessageFired, getBundlePrices, getBundlePrices, getDefaultAttributeModes, getMessageCouldHaveFired, getMessageCouldHaveFired, getMessageFired, getMessageFired, getQualifyingCount, getQualifyingCount, getQualifyingCountAsPrimitive, getQualifyingCountAsPrimitive, setAllMessageCouldHaveFired, setAllMessageCouldHaveFired, setAllMessageFired, setAllMessageFired, setBundlePrices, setBundlePrices, setMessageCouldHaveFired, setMessageCouldHaveFired, setMessageFired, setMessageFired, setQualifyingCount, setQualifyingCount, setQualifyingCount, setQualifyingCountMethods inherited from class de.hybris.platform.promotions.jalo.ProductPromotion
findAllProducts, findEligibleProductsInBasketMethods inherited from class de.hybris.platform.promotions.jalo.GeneratedProductPromotion
addToCategories, addToCategories, addToProducts, addToProducts, getCategories, getCategories, getCategoriesCount, getCategoriesCount, 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, deepClonePriceRows, deletePromotionPriceRows, findImmutablePromotionByUniqueKey, findOrCreateImmutableClone, formatMessage, getAllPromotionType, getDataUniqueKey, getPriceForOrder, getPromotionResultDataUnigueKey, getPromotionType, getRestrictions, 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
-
ProductMultiBuyPromotion
public ProductMultiBuyPromotion()
-
-
Method Details
-
remove
Removes the item.- Overrides:
removein classAbstractPromotion- Parameters:
ctx- A SessionContext object- Throws:
ConsistencyCheckException- if this item could not be removed for some reason
-
evaluate
Description copied from class:AbstractPromotionEvaluate whether a promotion can fire or not.- Specified by:
evaluatein classAbstractPromotion- Parameters:
ctx- The context to run the operation inpromoContext- The evaluation context- Returns:
- the list of promotion results that this promotions creates
-
getResultDescription
public String getResultDescription(SessionContext ctx, PromotionResult promotionResult, Locale locale) Description copied from class:AbstractPromotionGet a localized user presentable description for the result of this promotion.- Specified by:
getResultDescriptionin classAbstractPromotion- Parameters:
ctx- The contextpromotionResult- The promotion result to be describedlocale- The locale to use to generate the message- Returns:
- a string description
-
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 classProductPromotion- Parameters:
ctx- The hybris contextbuilder- AStringBuilderused to build up the immutable key
-
deepCloneAttributes
Called to deep clone attributes of this instance The values map contains all the attributes defined on this instance. The map will be used to initialize a new instance of the Action that is a clone of this instance. This method can remove, replace or add to the Map of attributes.- Overrides:
deepCloneAttributesin classAbstractPromotion- Parameters:
ctx- The hybris contextvalues- The map to write into
-