Subversion Repositories SmartDukaan

Rev

Rev 1061 | 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
 
46 naveen 9
import in.shop2020.metamodel.definitions.Catalog;
4959 amit.gupta 10
import in.shop2020.metamodel.definitions.ChildSlideDefinition;
45 naveen 11
import in.shop2020.metamodel.definitions.SlideDefinition;
12
import in.shop2020.metamodel.definitions.SlideFeatureDefinition;
13
 
14
/**
51 naveen 15
 * Utility class that supports SlideDefinition class. All related 
16
 * objects are fetched from database and aggregated here.
17
 * 
45 naveen 18
 * @author naveen
19
 *
20
 */
21
public class ExpandedSlideDefinition extends SlideDefinition {
22
 
23
	/**
24
	 * 
25
	 */
26
	private static final long serialVersionUID = 1L;
27
 
28
	/**
51 naveen 29
	 * Expanded from list of SlideFeatureDefinition IDs
45 naveen 30
	 */
31
	private List<ExpandedSlideFeatureDefinition> 
32
		expandedSlideFeatureDefinitions;
33
 
34
	/**
51 naveen 35
	 * Expanded from list of children SlideDefinition objects
46 naveen 36
	 */
4959 amit.gupta 37
	private List<ExpandedChildSlideDefinition> expandedChildSlideDefinitions;
51 naveen 38
 
46 naveen 39
	/**
51 naveen 40
	 * Takes SlideDefinition object as input and converts all references 
41
	 * into corresponding detail objects
42
	 * 
43
	 * @param slideDefinition SlideDefinition object
44
	 * @throws Exception
45 naveen 45
	 */
46
	public ExpandedSlideDefinition(SlideDefinition slideDefinition) 
47
		throws Exception {
48
		super(slideDefinition.getID(), slideDefinition.getLabel());
49
 
50
		// Copy rest of the properties
4959 amit.gupta 51
		this.setChildSlideDefinitions(
52
				slideDefinition.getChildSlideDefinitions());
45 naveen 53
 
54
		this.setDescription(slideDefinition.getDescription());
55
		this.setLabel(slideDefinition.getLabel());
56
 
57
		this.setSlideFeatureDefinitions(
58
				slideDefinition.getSlideFeatureDefinitions());
59
 
60
		// Expand SlideFeatureDefinition
61
		List<SlideFeatureDefinition> slideFeatureDefs = 
62
			slideDefinition.getSlideFeatureDefinitions();
63
 
64
		if(slideFeatureDefs != null) {
65
			this.expandedSlideFeatureDefinitions = 
66
				new ArrayList<ExpandedSlideFeatureDefinition>();
67
 
68
			for(SlideFeatureDefinition slideFeatureDef : slideFeatureDefs) {
69
				this.expandedSlideFeatureDefinitions.add(
70
						new ExpandedSlideFeatureDefinition(slideFeatureDef));
71
			}
72
		}
4959 amit.gupta 73
 
74
		List<ChildSlideDefinition> childrenSlideDefs = this.getChildSlideDefinitions();
75
		if(childrenSlideDefs != null) {
76
			this.expandedChildSlideDefinitions = 
77
				new ArrayList<ExpandedChildSlideDefinition>();
46 naveen 78
 
4959 amit.gupta 79
			for(ChildSlideDefinition childSlideDef : childrenSlideDefs) {				
80
				this.expandedChildSlideDefinitions.add(
81
						new ExpandedChildSlideDefinition(childSlideDef));
46 naveen 82
			}
83
		}
45 naveen 84
	}
85
 
86
	/**
51 naveen 87
	 * @return the expandedSlideFeatureDefinitions List of 
88
	 * ExpandedSlideFeatureDefinition objects
45 naveen 89
	 */
90
	public List<ExpandedSlideFeatureDefinition> 
91
		getExpandedSlideFeatureDefinitions() {
92
		return expandedSlideFeatureDefinitions;
93
	}
94
 
46 naveen 95
	/**
51 naveen 96
	 * @return the expandedChildrentSlideDefinitions List of children 
97
	 * ExpandedSlideDefinition objects
46 naveen 98
	 */
4959 amit.gupta 99
	public List<ExpandedChildSlideDefinition> getExpandedChildSlideDefinitions(){
100
		return expandedChildSlideDefinitions;
46 naveen 101
	}
102
 
45 naveen 103
	/* (non-Javadoc)
104
	 * @see java.lang.Object#toString()
105
	 */
106
	@Override
107
	public String toString() {
108
		return "ExpandedSlideDefinition [expandedSlideFeatureDefinitions="
109
				+ expandedSlideFeatureDefinitions
4959 amit.gupta 110
				+ ", getChildSlideDefinitions()="
111
				+ getChildSlideDefinitions() + ", getDescription()="
45 naveen 112
				+ getDescription() + ", getLabel()=" + getLabel()
113
				+ ", getSlideFeatureDefinitions()="
46 naveen 114
				+ getSlideFeatureDefinitions()
4959 amit.gupta 115
				+ ", getExpandedChildSlideDefinitions()="
116
				+ getExpandedChildSlideDefinitions() + 
46 naveen 117
				", getID()=" + getID() + "]";
45 naveen 118
	}
119
 
120
}