Class SerialVoucher

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable

    public class SerialVoucher
    extends GeneratedSerialVoucher
    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:
    Serialized Form
    • Constructor Detail

      • SerialVoucher

        public SerialVoucher()
    • Method Detail

      • checkVoucherCode

        public boolean checkVoucherCode​(java.lang.String aVoucherCode)
        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.
      • extractCode

        public static java.lang.String extractCode​(java.lang.String aVoucherCode)
      • 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
      • isReservable

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

        public void setCodes​(java.util.Collection param)
        Sets the generated codes of this voucher.
        Overrides:
        setCodes in class GeneratedSerialVoucher
        Parameters:
        param - the generated codes of this voucher.