Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
24 naveen 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.util;
5
 
6
import java.util.ArrayList;
7
import java.util.List;
8
 
9
import in.shop2020.metamodel.core.Entity;
10
import in.shop2020.metamodel.core.Slide;
11
import in.shop2020.metamodel.definitions.Catalog;
12
import in.shop2020.metamodel.definitions.Category;
13
import in.shop2020.metamodel.definitions.DefinitionsContainer;
14
 
15
/**
51 naveen 16
 * Utility class that supports core Entity class. All related 
17
 * objects are fetched from database and aggregated here.
18
 *
24 naveen 19
 * @author naveen
20
 *
21
 */
22
public class ExpandedEntity extends Entity {
51 naveen 23
 
49 naveen 24
	/**
51 naveen 25
	 * Expanded from category ID
49 naveen 26
	 */
24 naveen 27
	private Category category;
49 naveen 28
 
29
	/**
51 naveen 30
	 * Expanded from list of slide IDs
49 naveen 31
	 */
24 naveen 32
	private List<ExpandedSlide> expandedSlides;
33
 
34
	/**
35
	 * 
36
	 */
37
	private static final long serialVersionUID = 1L;
38
 
39
	/**
51 naveen 40
	 * Takes Entity object as input and converts all references 
41
	 * into corresponding detail objects
24 naveen 42
	 * 
51 naveen 43
	 * @param entity Entity object
24 naveen 44
	 * @throws Exception 
45
	 */
46
	public ExpandedEntity(Entity entity) throws Exception {
47
		super(entity.getID(), entity.getCategoryID());
48
 
49
		// Copy rest of the properties from entity
50
		super.setBrand(entity.getBrand());
51
		super.setModelName(entity.getModelName());
52
		super.setModelNumber(entity.getModelNumber());
53
		super.setSlides(entity.getSlides());
54
 
55
		// Expand category id
56
		DefinitionsContainer defs = 
57
			Catalog.getInstance().getDefinitionsContainer();
58
 
59
		this.category = defs.getCategory(entity.getCategoryID());
60
 
61
		// Expand slides
62
		this.expandedSlides = new ArrayList<ExpandedSlide>();
40 naveen 63
		List<Slide> slides = entity.getSlides();
64
		if(slides != null) {
65
			for(Slide slide : slides) {
66
				ExpandedSlide expSlide = new ExpandedSlide(slide);
67
 
68
				this.expandedSlides.add(expSlide);
69
			}
24 naveen 70
		}
71
	}
72
 
73
	/**
74
	 * @return the category
75
	 */
76
	public Category getCategory() {
77
		return category;
78
	}
79
 
80
	/**
81
	 * @return the expandedSlides
82
	 */
83
	public List<ExpandedSlide> getExpandedSlides() {
84
		return expandedSlides;
85
	}
33 naveen 86
 
87
	/* (non-Javadoc)
88
	 * @see java.lang.Object#toString()
89
	 */
90
	@Override
91
	public String toString() {
92
		return "ExpandedEntity [category=" + category + ", expandedSlides="
93
				+ expandedSlides + ", toString()=" + super.toString() + "]";
94
	}
24 naveen 95
}