Subversion Repositories SmartDukaan

Rev

Rev 40 | 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.core.Entity;
import in.shop2020.metamodel.core.Slide;
import in.shop2020.metamodel.definitions.Catalog;
import in.shop2020.metamodel.definitions.Category;
import in.shop2020.metamodel.definitions.DefinitionsContainer;

/**
 * @author naveen
 *
 */
public class ExpandedEntity extends Entity {
        /**
         * 
         */
        private Category category;
        
        /**
         * 
         */
        private List<ExpandedSlide> expandedSlides;
        
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        /**
         * 
         * @param entity
         * @throws Exception 
         */
        public ExpandedEntity(Entity entity) throws Exception {
                super(entity.getID(), entity.getCategoryID());
                
                // Copy rest of the properties from entity
                super.setBrand(entity.getBrand());
                super.setModelName(entity.getModelName());
                super.setModelNumber(entity.getModelNumber());
                super.setSlides(entity.getSlides());
                
                // Expand category id
                DefinitionsContainer defs = 
                        Catalog.getInstance().getDefinitionsContainer();
                
                this.category = defs.getCategory(entity.getCategoryID());
                
                // Expand slides
                this.expandedSlides = new ArrayList<ExpandedSlide>();
                List<Slide> slides = entity.getSlides();
                if(slides != null) {
                        for(Slide slide : slides) {
                                ExpandedSlide expSlide = new ExpandedSlide(slide);
                                
                                this.expandedSlides.add(expSlide);
                        }
                }
        }

        /**
         * @return the category
         */
        public Category getCategory() {
                return category;
        }

        /**
         * @return the expandedSlides
         */
        public List<ExpandedSlide> getExpandedSlides() {
                return expandedSlides;
        }

        /* (non-Javadoc)
         * @see java.lang.Object#toString()
         */
        @Override
        public String toString() {
                return "ExpandedEntity [category=" + category + ", expandedSlides="
                                + expandedSlides + ", toString()=" + super.toString() + "]";
        }
}