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:
java.io.Serializable
,java.lang.Comparable
- Direct Known Subclasses:
GeneratedPromotionBillingTimeRestriction
,GeneratedPromotionOrderRestriction
,GeneratedPromotionProductRestriction
,GeneratedPromotionUserRestriction
public abstract class AbstractPromotionRestriction extends GeneratedAbstractPromotionRestriction
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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractPromotionRestriction.RestrictionResult
Result values from the evaluate methods.-
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.GeneratedAbstractPromotionRestriction
DEFAULT_INITIAL_ATTRIBUTES, DESCRIPTIONPATTERN, PROMOTION, RENDEREDDESCRIPTION, RESTRICTIONTYPE
-
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 AbstractPromotionRestriction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
buildDataUniqueKey(SessionContext ctx, java.lang.StringBuilder builder)
Build a unique data driven key.protected AbstractPromotionRestriction
deepClone(SessionContext ctx)
Deep clone this restriction instance.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.AbstractPromotionRestriction.RestrictionResult
evaluate(SessionContext ctx, Product product, java.util.Date date, AbstractOrder order)
Evaluate this restriction.abstract AbstractPromotionRestriction.RestrictionResult
evaluate(SessionContext ctx, java.util.Collection<Product> products, java.util.Date date, AbstractOrder order)
Evaluate this restriction.java.util.Map
getAllRestrictionType(SessionContext ctx)
Get restrictionType for all supported languages.protected java.lang.Object[]
getDescriptionPatternArguments(SessionContext ctx)
java.lang.String
getRenderedDescription(SessionContext ctx)
Generated method - Getter of theAbstractPromotionRestriction.renderedDescription
attribute.java.lang.String
getRestrictionType(SessionContext ctx)
Return the type name for this restriction instance.java.lang.String
toString()
Returns theString
representation 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, setPromotion
-
Methods inherited from class de.hybris.platform.jalo.GenericItem
createItem, 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, 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, useTA, writeReplace
-
Methods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
-
-
-
Method Detail
-
evaluate
public abstract AbstractPromotionRestriction.RestrictionResult evaluate(SessionContext ctx, java.util.Collection<Product> products, java.util.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 ofProduct
instancesdate
- The date to use in any evaluationsorder
- The order (optional)- Returns:
- the
AbstractPromotionRestriction.RestrictionResult
indicating the result of the evaluation
-
evaluate
public final AbstractPromotionRestriction.RestrictionResult evaluate(SessionContext ctx, Product product, java.util.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
- TheProduct
instance to test against.date
- The date to use in any evaluationsorder
- The order (optional)- Returns:
- the
AbstractPromotionRestriction.RestrictionResult
indicating the result of the evaluation
-
toString
public java.lang.String toString()
Description copied from class:Item
Returns theString
representation of this item. This is by default the representation of the primary key of this item.
-
getRestrictionType
public java.lang.String getRestrictionType(SessionContext ctx)
Return the type name for this restriction instance.- Specified by:
getRestrictionType
in classGeneratedAbstractPromotionRestriction
- Parameters:
ctx
- The hybris context- Returns:
- the type name for this instance.
-
getAllRestrictionType
public java.util.Map getAllRestrictionType(SessionContext ctx)
Get restrictionType for all supported languages.- Specified by:
getAllRestrictionType
in classGeneratedAbstractPromotionRestriction
- Parameters:
ctx
- The hybris context- Returns:
- a map of the type names keyed by language.
-
getRenderedDescription
public java.lang.String getRenderedDescription(SessionContext ctx)
Description copied from class:GeneratedAbstractPromotionRestriction
Generated method - Getter of theAbstractPromotionRestriction.renderedDescription
attribute.- Specified by:
getRenderedDescription
in classGeneratedAbstractPromotionRestriction
- Returns:
- the renderedDescription - The readonly rendered description of this restriction.
-
getDescriptionPatternArguments
protected java.lang.Object[] getDescriptionPatternArguments(SessionContext ctx)
-
buildDataUniqueKey
protected void buildDataUniqueKey(SessionContext ctx, java.lang.StringBuilder builder)
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
- AStringBuilder
used to build up the immutable key
-
deepClone
protected AbstractPromotionRestriction deepClone(SessionContext ctx)
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
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.- Parameters:
ctx
- The hybris contextvalues
- The map to write into
-
-