Subversion Repositories SmartDukaan

Rev

Rev 323 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
45 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.definitions.Category;
10
import in.shop2020.metamodel.definitions.CategorySlideDefinition;
11
 
12
/**
51 naveen 13
 * Utility class that supports Category class. All related objects are fetched 
14
 * from database and aggregated here.
15
 *
45 naveen 16
 * @author naveen
17
 *
18
 */
19
public class ExpandedCategory extends Category {
20
 
49 naveen 21
	/**
51 naveen 22
	 * Expanded from list of CategorySlideDefinition IDs
49 naveen 23
	 */
45 naveen 24
	private List<ExpandedCategorySlideDefinition> 
25
		expandedCategorySlideDefintions;
26
 
27
	/**
28
	 * 
29
	 */
30
	private static final long serialVersionUID = 1L;
31
 
32
	/**
51 naveen 33
	 * Takes Category as input and converts all references into corresponding 
34
	 * detail objects
35
	 * 
45 naveen 36
	 * @param Category category
37
	 * @throws Exception 
38
	 */
39
	public ExpandedCategory(Category category) throws Exception {
40
		super(category.getID());
41
 
42
		// Copy rest of the properties
43
		this.setCategorySlideDefintions(category.getCategorySlideDefintions());
44
		this.setChildrenCategory(category.getChildrenCategory());
45
		this.setDescription(category.getDescription());
46
		this.setLabel(category.getLabel());
47
		this.setParentCategory(category.getParentCategory());
48
 
49
		// Expand CategorySlideDefinition
50
		List<CategorySlideDefinition> categorySlideDefinitions = 
51
			this.getCategorySlideDefintions();
52
 
53
		if(categorySlideDefinitions != null) {
54
			this.expandedCategorySlideDefintions = 
55
				new ArrayList<ExpandedCategorySlideDefinition>();
56
 
57
			for(CategorySlideDefinition catSlideDef : categorySlideDefinitions){
58
				this.expandedCategorySlideDefintions.add(
59
						new ExpandedCategorySlideDefinition(catSlideDef));
60
			}
61
		}
62
	}
63
 
64
	/**
65
	 * @return the expandedCategorySlideDefintions
66
	 */
67
	public List<ExpandedCategorySlideDefinition> 
68
		getExpandedCategorySlideDefintions() {
69
		return expandedCategorySlideDefintions;
70
	}
71
 
72
	/* (non-Javadoc)
73
	 * @see java.lang.Object#toString()
74
	 */
75
	@Override
76
	public String toString() {
77
		return "ExpandedCategory [expandedCategorySlideDefintions="
78
				+ expandedCategorySlideDefintions
79
				+ ", getCategorySlideDefintions()="
80
				+ getCategorySlideDefintions() + ", getChildrenCategory()="
81
				+ getChildrenCategory() + ", getDescription()="
82
				+ getDescription() + ", getLabel()=" + getLabel()
83
				+ ", getParentCategory()=" + getParentCategory() + ", getID()="
84
				+ getID() + "]";
85
	}
86
 
87
}