Class AbstractPromotionRestriction
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.GeneratedAbstractPromotionRestriction
de.hybris.platform.promotions.jalo.AbstractPromotionRestriction
- All Implemented Interfaces:
Serializable,Comparable
- Direct Known Subclasses:
GeneratedPromotionBillingTimeRestriction,GeneratedPromotionOrderRestriction,GeneratedPromotionProductRestriction,GeneratedPromotionUserRestriction
AbstractPromotionRestriction. The base class for all restrictions. Promotion restrictions are attached to promotions
to control when a promotion may be evaluated. Restrictions have control over the evaluation of the promotion and also
can filter the set of available products. Specific restriction behaviours are implemented in subclasses.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumResult values from the evaluate methods.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.GeneratedAbstractPromotionRestriction
DEFAULT_INITIAL_ATTRIBUTES, DESCRIPTIONPATTERN, PROMOTION, RENDEREDDESCRIPTION, RESTRICTIONTYPEFields 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 AbstractPromotionRestrictiondeepClone(SessionContext ctx) Deep clone this restriction instance.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, Product product, Date date, AbstractOrder order) Evaluate this restriction.evaluate(SessionContext ctx, Collection<Product> products, Date date, AbstractOrder order) Evaluate this restriction.Get restrictionType for all supported languages.protected Object[]Generated method - Getter of theAbstractPromotionRestriction.renderedDescriptionattribute.Return the type name for this restriction instance.toString()Returns theStringrepresentation of this item.Methods inherited from class de.hybris.platform.promotions.jalo.GeneratedAbstractPromotionRestriction
getAllDescriptionPattern, getAllDescriptionPattern, getAllRestrictionType, getDefaultAttributeModes, getDescriptionPattern, getDescriptionPattern, getPromotion, getPromotion, getRenderedDescription, getRestrictionType, setAllDescriptionPattern, setAllDescriptionPattern, setDescriptionPattern, setDescriptionPattern, setPromotion, setPromotionMethods inherited from class de.hybris.platform.jalo.GenericItem
createItem, 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, isMarkModifiedDisabled, isRelationLocalizationFallbackEnabled, newInstance, notifyExtensionsAfterItemCreation, notifyExtensionsBeforeItemCreation, notifyItemRemoval, notifyManagerAboutItemRemoval, readResolve, registerAccessFor, registerAccessFor, registerJaloInvalidationListeners, remove, 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
-
AbstractPromotionRestriction
public AbstractPromotionRestriction()
-
-
Method Details
-
evaluate
public abstract AbstractPromotionRestriction.RestrictionResult evaluate(SessionContext ctx, Collection<Product> products, Date date, AbstractOrder order) Evaluate this restriction. Evaluate the restrictions against the order, date and products specified. Theorder specified may be null. The restriction may remove products from the list of products and returnAbstractPromotionRestriction.RestrictionResult.ADJUSTED_PRODUCTS.- Parameters:
ctx- The hybris contextproducts- The collection ofProductinstancesdate- The date to use in any evaluationsorder- The order (optional)- Returns:
- the
AbstractPromotionRestriction.RestrictionResultindicating the result of the evaluation
-
evaluate
public final AbstractPromotionRestriction.RestrictionResult evaluate(SessionContext ctx, Product product, Date date, AbstractOrder order) Evaluate this restriction. Evaluate the restrictions against the order, date and products specified. Theorder specified may be null. The restriction may remove products from the list of products and returnAbstractPromotionRestriction.RestrictionResult.ADJUSTED_PRODUCTS.- Parameters:
ctx- The hybris contextproduct- TheProductinstance to test against.date- The date to use in any evaluationsorder- The order (optional)- Returns:
- the
AbstractPromotionRestriction.RestrictionResultindicating the result of the evaluation
-
toString
Description copied from class:ItemReturns theStringrepresentation of this item. This is by default the representation of the primary key of this item. -
getRestrictionType
Return the type name for this restriction instance.- Specified by:
getRestrictionTypein classGeneratedAbstractPromotionRestriction- Parameters:
ctx- The hybris context- Returns:
- the type name for this instance.
-
getAllRestrictionType
Get restrictionType for all supported languages.- Specified by:
getAllRestrictionTypein classGeneratedAbstractPromotionRestriction- Parameters:
ctx- The hybris context- Returns:
- a map of the type names keyed by language.
-
getRenderedDescription
Description copied from class:GeneratedAbstractPromotionRestrictionGenerated method - Getter of theAbstractPromotionRestriction.renderedDescriptionattribute.- Specified by:
getRenderedDescriptionin classGeneratedAbstractPromotionRestriction- Returns:
- the renderedDescription - The readonly rendered description of this restriction.
-
getDescriptionPatternArguments
-
buildDataUniqueKey
Build a unique data driven key. Build a unique key that is data driven. This will uniquely identify the rules used in this action and will form the immutable key for stored promotions.- Parameters:
ctx- The hybris contextbuilder- AStringBuilderused to build up the immutable key
-
deepClone
Deep clone this restriction instance. Promotions must be deep cloned, therefore promotion restrictions must also support deep cloning.- Parameters:
ctx- The hybris context- Returns:
- a clone of this instance
-
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.- Parameters:
ctx- The hybris contextvalues- The map to write into
-