Class AbstractBundleRule

    • Constructor Detail

      • AbstractBundleRule

        public AbstractBundleRule()
    • 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 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 java.lang.Object setProperty​(SessionContext ctx,
                                            java.lang.String name,
                                            java.lang.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()