Class PromotionVoucher

All Implemented Interfaces:
Serializable, Comparable

public class PromotionVoucher extends GeneratedPromotionVoucher
A promotion voucher can be redeemed once or more times up to a user-defined limit.

It provides just one arbitrary, user-defined voucher code (ID) to enable promotions

with easily rememberable code tokens, such as "VINEGLAS".

Moreover promotion vouchers share a lot of functionality with the serial vouchers

and therefore have attributes like the voucher value,

the discount type, the free shipping option and the restrictions.

See Also:
  • Constructor Details

    • PromotionVoucher

      public PromotionVoucher()
  • Method Details

    • createItem

      protected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException
      Description copied from class: Item
      Has 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. ) during ComposedType.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:
      createItem in class Voucher
      Parameters:
      ctx - the current session context which this item is created within
      type - 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
    • checkVoucherCode

      public boolean checkVoucherCode(String aVoucherCode)
      Description copied from class: Voucher
      Returns true if the specified voucher code is valid for this voucher.
      Specified by:
      checkVoucherCode in class Voucher
      Parameters:
      aVoucherCode - the voucher code to check validity of.
      Returns:
      true if the specified voucher code is valid for this voucher, false else.
    • getNextVoucherNumber

      protected int getNextVoucherNumber(SessionContext ctx)
      Specified by:
      getNextVoucherNumber in class Voucher
    • isReservable

      public boolean isReservable(String aVoucherCode, User user)
      Specified by:
      isReservable in class Voucher
    • setVoucherCode

      public void setVoucherCode(SessionContext ctx, String param)
      Description copied from class: GeneratedPromotionVoucher
      Generated method - Setter of the PromotionVoucher.voucherCode attribute.
      Overrides:
      setVoucherCode in class GeneratedPromotionVoucher
      param - the voucherCode - the voucher code.