Package de.hybris.platform.voucher.jalo
Class SerialVoucher
java.lang.Object
- All Implemented Interfaces:
Serializable,Comparable
A serial voucher provides a set of unique (system-generated) voucher codes (ID) that could be delivered to
customers, employees or something to enable them to redeem the voucher in an order.
Every voucher code may be redeemed once and once-only in a single order. All voucher codes of the same batch share
the same common base criteria such as the voucher value, the discount type, the free shipping option and the
restrictions.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.hybris.platform.voucher.jalo.Voucher
Voucher.InvalidVoucherKeyExceptionNested 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.voucher.jalo.GeneratedSerialVoucher
CODES, DEFAULT_INITIAL_ATTRIBUTESFields inherited from class de.hybris.platform.voucher.jalo.Voucher
CODELENGTH, DIVIDER, LENGTH_CODEFields inherited from class de.hybris.platform.voucher.jalo.GeneratedVoucher
DESCRIPTION, FREESHIPPING, INVALIDATIONS, INVALIDATIONSHANDLER, RESTRICTIONS, RESTRICTIONSHANDLER, VALUESTRINGFields inherited from class de.hybris.platform.jalo.order.price.Discount
EXTERNAL_KEY, GLOBAL, VALUE_END, VALUE_STARTFields inherited from class de.hybris.platform.jalo.order.price.GeneratedDiscount
ABSOLUTE, CODE, CURRENCY, DISCOUNTSTRING, NAME, ORDERDISCOUNTRELATION_MARKMODIFIED, ORDERDISCOUNTRELATION_SRC_ORDERED, ORDERDISCOUNTRELATION_TGT_ORDERED, ORDERS, PRIORITY, VALUEFields 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 TypeMethodDescriptionbooleancheckVoucherCode(String aVoucherCode) Returns true if the specified voucher code is valid for this voucher.protected ItemcreateItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) Has to be implemented for each concrete subtype of item.static StringextractCode(String aVoucherCode) protected intbooleanisReservable(String aVoucherCode, User user) voidsetCodes(Collection param) Sets the generated codes of this voucher.Methods inherited from class de.hybris.platform.voucher.jalo.GeneratedSerialVoucher
getCodes, getCodes, getDefaultAttributeModes, setCodesMethods inherited from class de.hybris.platform.voucher.jalo.Voucher
createAndStoreKey, createVoucherInvalidation, generateVoucherCode, getApplicableEntries, getApplicableValue, getAppliedValue, getComposedType, getDiscountValue, getInvalidation, getInvalidations, getInvalidations, getValueString, getViolatedRestrictions, getViolatedRestrictions, getViolationMessages, getViolationMessages, getVoucherNumber, getVoucherValue, insertDividers, isApplicable, isApplicable, isReservable, redeem, redeem, release, release, remove, removeDividers, removeInvalidations, reserve, threeByteSigMethods inherited from class de.hybris.platform.voucher.jalo.GeneratedVoucher
addToInvalidations, addToInvalidations, addToRestrictions, addToRestrictions, getAllDescription, getAllDescription, getDescription, getDescription, getInvalidations, getInvalidations, getRestrictions, getRestrictions, getValueString, isFreeShipping, isFreeShipping, isFreeShippingAsPrimitive, isFreeShippingAsPrimitive, removeFromInvalidations, removeFromInvalidations, removeFromRestrictions, removeFromRestrictions, setAllDescription, setAllDescription, setDescription, setDescription, setFreeShipping, setFreeShipping, setFreeShipping, setFreeShipping, setInvalidations, setInvalidations, setRestrictions, setRestrictionsMethods inherited from class de.hybris.platform.jalo.order.price.Discount
addOrder, getAllNames, getDiscountstring, getDiscountString, getPriority, getValue, isAbsolute, notifyOrderCalculated, notifyOrderRemoval, removeOrder, setAllNames, setCodeMethods inherited from class de.hybris.platform.jalo.order.price.GeneratedDiscount
addToOrders, addToOrders, getAllName, getAllName, getCode, getCode, getCurrency, getCurrency, getDiscountString, getName, getName, getOrders, getOrders, getOrdersCount, getOrdersCount, getPriority, getPriorityAsPrimitive, getPriorityAsPrimitive, getValue, getValueAsPrimitive, getValueAsPrimitive, isAbsolute, isAbsoluteAsPrimitive, isAbsoluteAsPrimitive, isGlobal, isGlobal, isGlobalAsPrimitive, isGlobalAsPrimitive, isMarkModifiedDisabled, removeFromOrders, removeFromOrders, setAllName, setAllName, setCode, setCurrency, setCurrency, setGlobal, setGlobal, setGlobal, setGlobal, setName, setName, setOrders, setOrders, setPriority, setPriority, setPriority, setPriority, setValue, setValue, setValue, setValueMethods inherited from class de.hybris.platform.jalo.GenericItem
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, 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, suppressRelation, toString, useTA, writeReplaceMethods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
Constructor Details
-
SerialVoucher
public SerialVoucher()
-
-
Method Details
-
checkVoucherCode
Returns true if the specified voucher code is valid for this voucher.- Specified by:
checkVoucherCodein classVoucher- Parameters:
aVoucherCode- the voucher code to check validity of.- Returns:
- true if the specified voucher code is valid for this voucher, false else.
-
extractCode
-
createItem
protected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException Description copied from class:ItemHas to be implemented for each concrete subtype of item. This method is responsible for creating a new item instance ( by calling managers, ejb homes, etc. ) duringComposedType.newInstance(Map).In case this method uses any of the attribute values during creation it is required to override
Item.getNonInitialAttributes(SessionContext, ItemAttributeMap)too.
Sn example:public static final String MY_ATTRIBUTE = "someAttribute"; ... protected Item createItem(SessionContext ctx, ComposedType type, Map allAttributes ) throws JaloBusinessException { MyManager man = ... return man.createMyItem( (String)allAttributes.get(MY_ATTRIBUTE) ); // here MY_ATTRIBUTE is used for creation, so it must not be set again } protected Map getNonInitialAttributes( SessionContext ctx, Map allAttributes ) { // let superclass remove its own initial attributes Map ret = super.getNonInitialAttributes( ctx, allAttributes ); // remove MY_ATTRIBUTE from all attributes since if has already been set ret.remove(MY_ATTRIBUTE); return ret; }- Overrides:
createItemin classVoucher- Parameters:
ctx- the current session context which this item is created withintype- the actual item type ( since subtypes may not provide a own jalo class this may be different from the type which this method was implemented for )- Returns:
- the new item instance
- Throws:
JaloBusinessException- indicates an error during creation - any changes will be rollbacked
-
getNextVoucherNumber
- Specified by:
getNextVoucherNumberin classVoucher
-
isReservable
- Specified by:
isReservablein classVoucher
-
setCodes
Sets the generated codes of this voucher.- Overrides:
setCodesin classGeneratedSerialVoucher- Parameters:
param- the generated codes of this voucher.
-