Class ProductPerfectPartnerBundlePromotion
- 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.GeneratedProductPerfectPartnerBundlePromotion
-
- de.hybris.platform.promotions.jalo.ProductPerfectPartnerBundlePromotion
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable
public class ProductPerfectPartnerBundlePromotion extends GeneratedProductPerfectPartnerBundlePromotion
ProductPerfectPartnerBundlePromotion. Buy product A together with X products from the list B for a total fixed price. For example: Buy the XBox games console and 3 of the specified games together for €215.00, Buy this drill with 2 of the safety accessories for €100.00. The cart must contain the base product and the qualifying count of the partner products to qualify.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.GenericItem
GenericItem.GenericItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LocalizableItem.LocalizableItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.ExtensibleItem
ExtensibleItem.ExtensibleItemImpl
-
Nested 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.GeneratedProductPerfectPartnerBundlePromotion
BASEPRODUCT, BUNDLEPRICES, DEFAULT_INITIAL_ATTRIBUTES, MESSAGECOULDHAVEFIRED, MESSAGEFIRED, PARTNERPRODUCTS, QUALIFYINGCOUNT
-
Fields 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, PRODUCTS
-
Fields inherited from class de.hybris.platform.promotions.jalo.GeneratedAbstractPromotion
CODE, DESCRIPTION, DETAILSURL, ENABLED, ENDDATE, IMMUTABLEKEY, IMMUTABLEKEYHASH, PRIORITY, PROMOTIONGROUP, PROMOTIONGROUPHANDLER, PROMOTIONTYPE, RESTRICTIONS, STARTDATE, TITLE
-
Fields inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LANGUAGE_FALLBACK_ENABLED
-
Fields 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, TYPE
-
Fields inherited from class de.hybris.platform.util.BridgeAbstraction
impl, tenant
-
-
Constructor Summary
Constructors Constructor Description ProductPerfectPartnerBundlePromotion()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
buildDataUniqueKey(SessionContext ctx, java.lang.StringBuilder builder)
Build a unique data driven key.protected void
deepCloneAttributes(SessionContext ctx, java.util.Map values)
Called to deep clone attributes of this instancejava.util.List<PromotionResult>
evaluate(SessionContext ctx, PromotionEvaluationContext promoContext)
Evaluate whether a promotion can fire or not.Product
getBaseProduct(SessionContext ctx)
Get the base product for this perfect partner promotion.java.lang.String
getResultDescription(SessionContext ctx, PromotionResult promotionResult, java.util.Locale locale)
Get a localized user presentable description for the result of this promotion.void
remove(SessionContext ctx)
remove the item.void
setBaseProduct(SessionContext ctx, Product value)
Set the base product for this perfect partner promotion.-
Methods inherited from class de.hybris.platform.promotions.jalo.GeneratedProductPerfectPartnerBundlePromotion
getAllMessageCouldHaveFired, getAllMessageCouldHaveFired, getAllMessageFired, getAllMessageFired, getBaseProduct, getBundlePrices, getBundlePrices, getDefaultAttributeModes, getMessageCouldHaveFired, getMessageCouldHaveFired, getMessageFired, getMessageFired, getPartnerProducts, getPartnerProducts, getQualifyingCount, getQualifyingCount, getQualifyingCountAsPrimitive, getQualifyingCountAsPrimitive, setAllMessageCouldHaveFired, setAllMessageCouldHaveFired, setAllMessageFired, setAllMessageFired, setBaseProduct, setBundlePrices, setBundlePrices, setMessageCouldHaveFired, setMessageCouldHaveFired, setMessageFired, setMessageFired, setPartnerProducts, setPartnerProducts, setQualifyingCount, setQualifyingCount, setQualifyingCount, setQualifyingCount
-
Methods inherited from class de.hybris.platform.promotions.jalo.ProductPromotion
findAllProducts, findEligibleProductsInBasket
-
Methods 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, setProducts
-
Methods 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, toString
-
Methods inherited from class de.hybris.platform.promotions.jalo.GeneratedAbstractPromotion
getAllPromotionType, getCode, getCode, getDescription, getDescription, getDetailsURL, getDetailsURL, getEndDate, getEndDate, getImmutableKey, getImmutableKey, getImmutableKeyHash, getImmutableKeyHash, getPriority, getPriority, getPriorityAsPrimitive, getPriorityAsPrimitive, getPromotionGroup, getPromotionGroup, getPromotionType, getRestrictions, getStartDate, getStartDate, getTitle, getTitle, isEnabled, isEnabled, isEnabledAsPrimitive, isEnabledAsPrimitive, setCode, setCode, setDescription, setDescription, setDetailsURL, setDetailsURL, setEnabled, setEnabled, setEnabled, setEnabled, setEndDate, setEndDate, setImmutableKey, setImmutableKey, setImmutableKeyHash, setImmutableKeyHash, setPriority, setPriority, setPriority, setPriority, setPromotionGroup, setRestrictions, setStartDate, setStartDate, setTitle, setTitle
-
Methods inherited from class de.hybris.platform.jalo.GenericItem
getImplementation, getInitialProperties, getNonInitialAttributes, getRelatedItems, setRelatedItems
-
Methods 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, setLocalizedProperty
-
Methods inherited from class de.hybris.platform.jalo.ExtensibleItem
createNonClassAccessor, getAllProperties, getAllProperties, getProperty, getProperty, getPropertyNames, getPropertyNames, removeProperty, removeProperty, setAllProperties, setAllProperties, setProperty, setProperty
-
Methods 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, 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, useTA, writeReplace
-
Methods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
-
-
-
Method Detail
-
remove
public void remove(SessionContext ctx) throws ConsistencyCheckException
remove the item. you can delete this method if you don't want to intercept the removal of this item- Overrides:
remove
in classAbstractPromotion
- Parameters:
ctx
- A SessionContext object- Throws:
ConsistencyCheckException
- if this item could not be removed for some reason
-
getBaseProduct
public Product getBaseProduct(SessionContext ctx)
Get the base product for this perfect partner promotion. The base product is stored in the products collection.- Specified by:
getBaseProduct
in classGeneratedProductPerfectPartnerBundlePromotion
- Parameters:
ctx
- The hybris context- Returns:
- The base product
-
setBaseProduct
public void setBaseProduct(SessionContext ctx, Product value)
Set the base product for this perfect partner promotion. The base product is stored in the products collection.- Specified by:
setBaseProduct
in classGeneratedProductPerfectPartnerBundlePromotion
- Parameters:
ctx
- The hybris contextvalue
- The product to set as the base product
-
evaluate
public java.util.List<PromotionResult> evaluate(SessionContext ctx, PromotionEvaluationContext promoContext)
Description copied from class:AbstractPromotion
Evaluate whether a promotion can fire or not.- Specified by:
evaluate
in 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 java.lang.String getResultDescription(SessionContext ctx, PromotionResult promotionResult, java.util.Locale locale)
Description copied from class:AbstractPromotion
Get a localized user presentable description for the result of this promotion.- Specified by:
getResultDescription
in classAbstractPromotion
- Parameters:
ctx
- The contextpromotionResult
- The promotion result to be describedlocale
- The locale to use to generate the message- Returns:
- a string description
-
buildDataUniqueKey
protected void buildDataUniqueKey(SessionContext ctx, java.lang.StringBuilder builder)
Description copied from class:AbstractPromotion
Build 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:
buildDataUniqueKey
in classProductPromotion
- Parameters:
ctx
- The hybris contextbuilder
- AStringBuilder
used to build up the immutable key
-
deepCloneAttributes
protected void deepCloneAttributes(SessionContext ctx, java.util.Map values)
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:
deepCloneAttributes
in classAbstractPromotion
- Parameters:
ctx
- The hybris contextvalues
- The map to write into
-
-