Class PromotionOrderRestriction

All Implemented Interfaces:
Serializable, Comparable

public class PromotionOrderRestriction extends GeneratedPromotionOrderRestriction
Restriction allow apply promotion only for orders in the orders collection.
See Also:
  • Constructor Details

    • PromotionOrderRestriction

      public PromotionOrderRestriction()
  • 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 GenericItem
      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
    • evaluate

      Description copied from class: AbstractPromotionRestriction
      Evaluate this restriction. Evaluate the restrictions against the order, date and products specified. The order specified may be null. The restriction may remove products from the list of products and return AbstractPromotionRestriction.RestrictionResult.ADJUSTED_PRODUCTS.
      Specified by:
      evaluate in class AbstractPromotionRestriction
      Parameters:
      ctx - The hybris context
      products - The collection of Product instances
      date - The date to use in any evaluations
      order - The order (optional)
      Returns:
      the AbstractPromotionRestriction.RestrictionResult indicating the result of the evaluation