Subversion Repositories SmartDukaan

Rev

Rev 45 | Rev 51 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package in.shop2020.metamodel.util;

import java.util.ArrayList;
import java.util.List;

import in.shop2020.metamodel.definitions.Category;
import in.shop2020.metamodel.definitions.CategorySlideDefinition;

/**
 * @author naveen
 *
 */
public class ExpandedCategory extends Category {
        
        /**
         * 
         */
        private List<ExpandedCategorySlideDefinition> 
                expandedCategorySlideDefintions;

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        /**
         * @param Category category
         * @throws Exception 
         */
        public ExpandedCategory(Category category) throws Exception {
                super(category.getID());
                
                // Copy rest of the properties
                this.setCategorySlideDefintions(category.getCategorySlideDefintions());
                this.setChildrenCategory(category.getChildrenCategory());
                this.setDescription(category.getDescription());
                this.setLabel(category.getLabel());
                this.setParentCategory(category.getParentCategory());
                
                // Expand CategorySlideDefinition
                List<CategorySlideDefinition> categorySlideDefinitions = 
                        this.getCategorySlideDefintions();
                
                if(categorySlideDefinitions != null) {
                        this.expandedCategorySlideDefintions = 
                                new ArrayList<ExpandedCategorySlideDefinition>();
                        
                        for(CategorySlideDefinition catSlideDef : categorySlideDefinitions){
                                this.expandedCategorySlideDefintions.add(
                                                new ExpandedCategorySlideDefinition(catSlideDef));
                        }
                }
        }

        /**
         * @return the expandedCategorySlideDefintions
         */
        public List<ExpandedCategorySlideDefinition> 
                getExpandedCategorySlideDefintions() {
                return expandedCategorySlideDefintions;
        }

        /* (non-Javadoc)
         * @see java.lang.Object#toString()
         */
        @Override
        public String toString() {
                return "ExpandedCategory [expandedCategorySlideDefintions="
                                + expandedCategorySlideDefintions
                                + ", getCategorySlideDefintions()="
                                + getCategorySlideDefintions() + ", getChildrenCategory()="
                                + getChildrenCategory() + ", getDescription()="
                                + getDescription() + ", getLabel()=" + getLabel()
                                + ", getParentCategory()=" + getParentCategory() + ", getID()="
                                + getID() + "]";
        }

}