Class PromotionVoucher

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.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:
    Serialized Form
    • Constructor Detail

      • PromotionVoucher

        public PromotionVoucher()
    • Method Detail

      • 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​(java.lang.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.
      • isReservable

        public boolean isReservable​(java.lang.String aVoucherCode,
                                    User user)
        Specified by:
        isReservable in class Voucher