Rev 323 | Rev 1061 | 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;/*** Utility class that supports core Entity class. All related* objects are fetched from database and aggregated here.** @author naveen**/public class ExpandedEntity extends Entity {/*** Reference to original entity*/private Entity entity;/*** Expanded from category ID*/private Category category;/*** Expanded from list of slide IDs*/private List<ExpandedSlide> expandedSlides;/****/private static final long serialVersionUID = 1L;/*** Takes Entity object as input and converts all references* into corresponding detail objects** @param entity Entity object* @throws Exception*/public ExpandedEntity(Entity entity) throws Exception {super(entity.getID(), entity.getCategoryID());// Original entitythis.setEntity(entity);// Copy rest of the properties from entitysuper.setBrand(entity.getBrand());super.setModelName(entity.getModelName());super.setModelNumber(entity.getModelNumber());super.setSlides(entity.getSlides());super.setSlideSequence(entity.getSlideSequence());// Expand category idDefinitionsContainer defs =Catalog.getInstance().getDefinitionsContainer();this.category = defs.getCategory(entity.getCategoryID());// Expand slidesthis.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;}/*** @param entity the entity to set*/public void setEntity(Entity entity) {this.entity = entity;}/*** @return the entity*/public Entity getEntity() {return entity;}/*** Returns ExpandedSlide instance given slide definition ID* @param slideDefinitionID* @return ExpandedSlide*/public ExpandedSlide getExpandedSlide(long slideDefinitionID) {for(ExpandedSlide expSlide : this.expandedSlides) {if(expSlide.getSlideDefinitionID() == slideDefinitionID) {return expSlide;}}return null;}/* (non-Javadoc)* @see java.lang.Object#toString()*/@Overridepublic String toString() {return "ExpandedEntity [category=" + category + ", expandedSlides="+ expandedSlides + ", toString()=" + super.toString() + "]";}}