Rev 4653 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/****/package in.shop2020.metamodel.core;import in.shop2020.metamodel.util.ReusableMetaModelComponent;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/*** Entity class is the center of shop2020 content meta-model. Represents* a Product that is part of shop2020 online shopping catalog.** It is composed of other classes in meta-model core package,* classes in meta-model definition package define its structure.** @author naveen**/public class Entity extends ReusableMetaModelComponent {public Entity() {}/*** This is serial versionId. Need to put corresponding to the svn checkout version.* So that code can be retrieved for the version and Objects can be restored.*///FIXME to be decidedprivate static final long serialVersionUID = 1L;/*** Pointer to entity's category*/private long categoryID;/*** Manufacturer brand*/private String brand;/*** Manufacturer provided Model Number*/private String modelNumber;/*** Manufacturer provided Model Name*/private String modelName;/*** List of slides that describe the entity*/private List<Slide> slides;private List<Long> slideSequence;/**** @param newID Unique identifier* @param categoryID Category ID*/public Entity(long newID, long categoryID) {super(newID);this.categoryID = categoryID;}public List<Long> getSlideSequence() {return slideSequence;}public void setSlideSequence(List<Long> slideSequence) {if(this.slideSequence==null){this.slideSequence = new ArrayList<Long>();}this.slideSequence = slideSequence;}/**** @return categoryID**/public long getCategoryID() {return this.categoryID;}/**** @param value Category ID to set**/public void setCategoryID(long value) {this.categoryID = value;}/**** @return brand**/public String getBrand() {return this.brand;}/**** @param value Brand to set**/public void setBrand(String value) {this.brand = value;}/**** @return modelNumber Model Number**/public String getModelNumber() {return this.modelNumber;}/**** @param value Model Number to set**/public void setModelNumber(String value) {this.modelNumber = value;}/**** @return modelName Model Name**/public String getModelName() {return this.modelName;}/**** @param value Model Name to set**/public void setModelName(String value) {this.modelName = value;}/**** @return slides**/public List<Slide> getSlides() {return this.slides;}/**** @param slide to add new slides to an entity*/public void addSlide(Slide slide) {if(this.slides == null) {this.slides = new ArrayList<Slide>();}else {Slide currentSlide = this.getSlide(slide.getSlideDefinitionID());this.slides.remove(currentSlide);}this.slides.add(slide);}/**** @param slideIDsNewOrder*/public void reorderSlides(List<Long> slideIDsNewOrder) {if(this.slides == null) {return;}Map<Long, Slide> slideIDSlide = new HashMap<Long, Slide>();for(Slide slide : this.slides) {slideIDSlide.put(new Long(slide.getSlideDefinitionID()), slide);}List<Slide> orderedSlides = new ArrayList<Slide>();for(Long slideID : slideIDsNewOrder) {Slide slide = slideIDSlide.get(slideID);if(slide != null) {orderedSlides.add(slide);}}this.slides = orderedSlides;}/**** @param slideDefinitionID*/public void removeSlide(long slideDefinitionID) {if(this.slides != null) {Slide slide = this.getSlide(slideDefinitionID);if(slide != null) {this.slides.remove(slide);}}}/**** @param value list of slides to set**/public void setSlides(List<Slide> value) {this.slides = value;}/*** Returns ExpandedSlide instance given slide definition ID* @param slideDefinitionID* @return ExpandedSlide*/public Slide getSlide(long slideDefinitionID) {if(this.slides!=null){for(Slide slide : this.slides) {if(slide.getSlideDefinitionID() == slideDefinitionID) {return slide;}}}return null;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + (int) (this.getID() ^ (this.getID() >>> 32));return result;}/* (non-Javadoc)* @see java.lang.Object#equals(java.lang.Object)*/@Overridepublic boolean equals(Object obj) {return this.getID() == ((Entity)obj).getID();}/* (non-Javadoc)* @see java.lang.Object#toString()*/@Overridepublic String toString() {return "Entity [brand=" + brand + ", categoryID=" + categoryID+ ", modelName=" + modelName + ", modelNumber=" + modelNumber+ ", slideSequence=" + slideSequence+ ", slides=" + slides + ", getID()=" + getID() + "]";}}