Package de.hybris.platform.voucher.jalo
Class Restriction
- java.lang.Object
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable
- Direct Known Subclasses:
GeneratedDateRestriction,GeneratedNewCustomerRestriction,GeneratedOrderRestriction,GeneratedProductRestriction,GeneratedRegularCustomerOrderQuantityRestriction,GeneratedRegularCustomerOrderTotalRestriction,GeneratedUserRestriction
public abstract class Restriction extends GeneratedRestriction
The [y] hybris Platform voucher extension enables users to assign a set of restrictions to a voucher for confining the usage of it. A combination of none, one, or many of the restrictions is possible. Developers can implement other restrictions in addition to those already there. In an order containing multiple items, (percentage) discounts will apply only to the products that match all of the criteria given by its assigned restrictions. The other products in the order are not discounted. Vouchers provide an interface for getting the eligible entries within an given order.- 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.voucher.jalo.GeneratedRestriction
DEFAULT_INITIAL_ATTRIBUTES, DESCRIPTION, POSITIVE, RESTRICTIONTYPE, VIOLATIONMESSAGE, VOUCHER, VOUCHERHANDLER, VOUCHERPOS
-
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 Restriction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.MapgetAllRestrictionType(SessionContext ctx)Returns a map containing all localized names of the type of this restriction.VoucherEntrySetgetApplicableEntries(AbstractOrder anOrder)java.lang.StringgetDescription(SessionContext ctx)Returns a description for this restriction.protected java.lang.String[]getMessageAttributeValues()Returns the values for making violation messages more useful.java.lang.StringgetRestrictionType(SessionContext ctx)Convenience method.java.lang.StringgetViolationMessage(SessionContext ctx)Returns a message explaining on what terms this restriction is fulfilled.booleanisFulfilled(AbstractOrder anOrder)Returns true if the specified abstract order is not null and fulfills this restriction.booleanisFulfilled(Product aProduct)Returns true if the specified product is not null and fulfills this restriction.protected abstract booleanisFulfilledInternal(AbstractOrder anOrder)Returns true if the specified abstract order fulfills this restriction.protected abstract booleanisFulfilledInternal(Product aProduct)Returns true if the specified product fulfills this restriction.-
Methods inherited from class de.hybris.platform.voucher.jalo.GeneratedRestriction
createItem, getAllDescription, getAllDescription, getAllRestrictionType, getAllViolationMessage, getAllViolationMessage, getDefaultAttributeModes, getDescription, getRestrictionType, getViolationMessage, getVoucher, getVoucher, isPositive, isPositive, isPositiveAsPrimitive, isPositiveAsPrimitive, setAllDescription, setAllDescription, setAllViolationMessage, setAllViolationMessage, setDescription, setDescription, setPositive, setPositive, setPositive, setPositive, setViolationMessage, setViolationMessage, setVoucher, setVoucher
-
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, 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, toString, useTA, writeReplace
-
Methods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
-
-
-
Method Detail
-
getAllRestrictionType
public java.util.Map getAllRestrictionType(SessionContext ctx)
Returns a map containing all localized names of the type of this restriction.- Specified by:
getAllRestrictionTypein classGeneratedRestriction- Parameters:
ctx- the context of the actual session- Returns:
- a Map associating String objects as values to Language objects as keys.
-
getApplicableEntries
public VoucherEntrySet getApplicableEntries(AbstractOrder anOrder)
-
getDescription
public java.lang.String getDescription(SessionContext ctx)
Returns a description for this restriction. To get a more specific description, this method replaces all place holders in the localized description returned by super.getDescription(SessionContext) by the values returned by getMessageAttributeValues().- Overrides:
getDescriptionin classGeneratedRestriction- Returns:
- a description for this restriction.
-
getRestrictionType
public java.lang.String getRestrictionType(SessionContext ctx)
Convenience method. Returns the localized name of the type of this restriction, equivalent to getComposedType().getName().- Specified by:
getRestrictionTypein classGeneratedRestriction- Parameters:
ctx- the context of the actual session.- Returns:
- the locaalized name of this restriction's type.
-
getViolationMessage
public final java.lang.String getViolationMessage(SessionContext ctx)
Returns a message explaining on what terms this restriction is fulfilled. To get a more specific violation message, this method replaces all place holders in the localized message returned by super.getViolationMessage(SessionContext) by the values returned by getMessageAttributeValues().- Overrides:
getViolationMessagein classGeneratedRestriction- Returns:
- a message explaining on what terms this restriction is fulfilled.
-
getMessageAttributeValues
protected java.lang.String[] getMessageAttributeValues()
Returns the values for making violation messages more useful.
-
isFulfilled
public final boolean isFulfilled(AbstractOrder anOrder)
Returns true if the specified abstract order is not null and fulfills this restriction.- Parameters:
anOrder- the abstract order to check whether it fullfills this restriction.- Returns:
- true if the specified abstract order is not null and fulfills this restriction, false else.
-
isFulfilled
public final boolean isFulfilled(Product aProduct)
Returns true if the specified product is not null and fulfills this restriction.- Parameters:
aProduct- the product to check whether it fullfills this restriction.- Returns:
- true if the specified product is not null and fulfills this restriction, false else.
-
isFulfilledInternal
protected abstract boolean isFulfilledInternal(AbstractOrder anOrder)
Returns true if the specified abstract order fulfills this restriction.- Parameters:
anOrder- the abstract order to check whether it fullfills this restriction.- Returns:
- true if the specified abstract order fulfills this restriction, false else.
-
isFulfilledInternal
protected abstract boolean isFulfilledInternal(Product aProduct)
Returns true if the specified product fulfills this restriction.- Parameters:
aProduct- the product to check whether it fullfills this restriction.- Returns:
- true if the specified product fulfills this restriction, false else.
-
-