Class PromotionUserRestriction
- 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
-
- de.hybris.platform.promotions.jalo.GeneratedPromotionUserRestriction
-
- de.hybris.platform.promotions.jalo.PromotionUserRestriction
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable
public class PromotionUserRestriction extends GeneratedPromotionUserRestriction
PromotionUserRestriction. Prevents the promotion from running if the user is in the restricted users collection.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.hybris.platform.promotions.jalo.AbstractPromotionRestriction
AbstractPromotionRestriction.RestrictionResult
-
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.GeneratedPromotionUserRestriction
DEFAULT_INITIAL_ATTRIBUTES, POSITIVE, USERS
-
Fields inherited from class de.hybris.platform.promotions.jalo.GeneratedAbstractPromotionRestriction
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, SAVE_FROM_SERVICE_LAYER, staticTransientObjects, TYPE
-
Fields inherited from class de.hybris.platform.util.BridgeAbstraction
impl, tenant
-
-
Constructor Summary
Constructors Constructor Description PromotionUserRestriction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbuildDataUniqueKey(SessionContext ctx, java.lang.StringBuilder builder)Build a unique data driven key.protected booleancheckGroupForPrincipal(SessionContext ctx, PrincipalGroup restrictedGroup, java.util.Collection<PrincipalGroup> groups)AbstractPromotionRestriction.RestrictionResultevaluate(SessionContext ctx, java.util.Collection<Product> products, java.util.Date date, AbstractOrder order)Evaluate this restriction.protected java.lang.Object[]getDescriptionPatternArguments(SessionContext ctx)java.lang.StringgetUserNames(SessionContext ctx)protected booleanisInUserCollection(SessionContext ctx, User user)Test if the user is restricted by this PromotionRestriction.protected booleanisInUserCollectionRecursive(SessionContext ctx, Principal principal, User user)-
Methods inherited from class de.hybris.platform.promotions.jalo.GeneratedPromotionUserRestriction
getDefaultAttributeModes, getUsers, getUsers, isPositive, isPositive, isPositiveAsPrimitive, isPositiveAsPrimitive, setPositive, setPositive, setPositive, setPositive, setUsers, setUsers
-
Methods inherited from class de.hybris.platform.promotions.jalo.AbstractPromotionRestriction
deepClone, deepCloneAttributes, evaluate, getAllRestrictionType, getRenderedDescription, getRestrictionType, toString
-
Methods inherited from class de.hybris.platform.promotions.jalo.GeneratedAbstractPromotionRestriction
getAllDescriptionPattern, getAllDescriptionPattern, getAllRestrictionType, 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, 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 AbstractPromotionRestriction.RestrictionResult evaluate(SessionContext ctx, java.util.Collection<Product> products, java.util.Date date, AbstractOrder order)
Description copied from class:AbstractPromotionRestrictionEvaluate 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.- Specified by:
evaluatein classAbstractPromotionRestriction- 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
-
isInUserCollection
protected boolean isInUserCollection(SessionContext ctx, User user)
Test if the user is restricted by this PromotionRestriction.- Parameters:
ctx- The contextuser- The user to test- Returns:
- true if the user is restricted, otherwise false
-
isInUserCollectionRecursive
protected boolean isInUserCollectionRecursive(SessionContext ctx, Principal principal, User user)
-
checkGroupForPrincipal
protected boolean checkGroupForPrincipal(SessionContext ctx, PrincipalGroup restrictedGroup, java.util.Collection<PrincipalGroup> groups)
-
buildDataUniqueKey
protected void buildDataUniqueKey(SessionContext ctx, java.lang.StringBuilder builder)
Description copied from class:AbstractPromotionRestrictionBuild 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.- Overrides:
buildDataUniqueKeyin classAbstractPromotionRestriction- Parameters:
ctx- The hybris contextbuilder- AStringBuilderused to build up the immutable key
-
getDescriptionPatternArguments
protected java.lang.Object[] getDescriptionPatternArguments(SessionContext ctx)
- Overrides:
getDescriptionPatternArgumentsin classAbstractPromotionRestriction
-
getUserNames
public java.lang.String getUserNames(SessionContext ctx)
-
-