Class AbstractBundleRule

All Implemented Interfaces:
Serializable, Comparable
Direct Known Subclasses:
GeneratedChangeProductPriceBundleRule, GeneratedDisableProductBundleRule

public abstract class AbstractBundleRule extends GeneratedAbstractBundleRule
See Also:
  • Constructor Details

    • AbstractBundleRule

      public AbstractBundleRule()
  • 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
    • remove

      public void remove(SessionContext ctx) throws ConsistencyCheckException
      Description copied from class: Item
      Removes this item.

      This method is using the following attributes of the given SessionContext:

      CacheUsage   Language   StagingMethod
      n/a (this is a setter method)   no, language doesn't matter for removal   yes if called on a StageableItem, no otherwise


      Overrides:
      remove in class Item
      Parameters:
      ctx - A SessionContext object
      Throws:
      ConsistencyCheckException - if this item could not be removed for some reason
    • setProperty

      public Object setProperty(SessionContext ctx, String name, Object value)
      Description copied from class: ExtensibleItem
      Sets a Property.

      This method is using the following attributes of the given SessionContext:

      CacheUsage   Language   StagingMethod
      no, this is a setter method.   no   yes if used with staged items, no otherwise


      Overrides:
      setProperty in class ExtensibleItem
      Parameters:
      ctx - A SessionContext object
      name - the name (key) of the property
      value - the value
      Returns:
      the property that was bound to the name or null if there was no property.
    • markBundleTemplateModified

      protected void markBundleTemplateModified()
    • markBundleTemplateModified

      protected void markBundleTemplateModified(BundleTemplate bundleTemplate)
    • getBundleTemplateOfRule

      public abstract BundleTemplate getBundleTemplateOfRule()