Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
10 shop2020 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.core;
5
 
6
 
7
import in.shop2020.metamodel.util.MetaModelComponent;
8
 
43 naveen 9
import java.util.ArrayList;
10 shop2020 10
import java.util.List;
11
 
12
/**
45 naveen 13
 * Slide is the top level container class for Product features. Name comes 
14
 * from slide-show metaphor used for designing content-meta model. Slide can 
15
 * have multiple children slides, features and free-form content of its own.
10 shop2020 16
 * 
17
 * @author naveen
18
 *
19
 */
20
public class Slide extends MetaModelComponent {
21
	/**
22
	 * 
23
	 */
24
	private static final long serialVersionUID = 1L;
45 naveen 25
 
26
	/**
27
	 * Reference to definition object
28
	 */
21 naveen 29
	private long slideDefinitionID;
45 naveen 30
 
31
	/**
32
	 * List of children slides
33
	 */
10 shop2020 34
	private List<Slide> childrenSlides;
45 naveen 35
 
36
	/**
37
	 * List of features grouped under the slide
38
	 */
10 shop2020 39
	private List<Feature> features;
45 naveen 40
 
41
	/**
42
	 * Un-structured data
43
	 */
10 shop2020 44
	private FreeformContent freeformContent;
45
 
46
 
47
	/**
48
	 * 
45 naveen 49
	 * @param slideDefinitionID Slide Definition ID
10 shop2020 50
	 */ 
21 naveen 51
    public Slide(long slideDefinitionID) {
10 shop2020 52
    	this.slideDefinitionID = slideDefinitionID;
53
    }
54
 
55
    /**
56
     * 
45 naveen 57
     * @return slideDefinitionID Slide Definition ID
10 shop2020 58
     */
21 naveen 59
    public long getSlideDefinitionID() {
10 shop2020 60
        return this.slideDefinitionID;
61
    }
62
 
63
    /**
64
     * 
45 naveen 65
     * @return childrenSlides List of children slides
10 shop2020 66
     *     
67
     */
68
    public List<Slide> getChildrenSlides() {
69
        return this.childrenSlides;
70
    }
71
 
72
    /**
73
     * 
45 naveen 74
     * @param value children slides to set
10 shop2020 75
     *     
76
     */
77
    public void setChildrenSlides(List<Slide> value) {
78
        this.childrenSlides = value;
79
    }
43 naveen 80
 
81
    /**
45 naveen 82
     * Adds new child slide to childrens list
43 naveen 83
     * 
45 naveen 84
     * @param child 
43 naveen 85
     */
86
    public void addChild(Slide child) {
87
    	if(this.childrenSlides == null) {
88
    		this.childrenSlides = new ArrayList<Slide>();
89
    	}
90
 
91
    	this.childrenSlides.add(child);
92
    }
10 shop2020 93
 
94
    /**
45 naveen 95
     * Handy function to check existence of children
10 shop2020 96
     * 
43 naveen 97
     * @return boolean
98
     */
99
    public boolean hasChildren() {
100
    	if(this.childrenSlides == null) {
101
    		return false;
102
    	}
103
 
104
    	if(this.childrenSlides.isEmpty()) {
105
    		return false;
106
    	}
107
 
108
    	return true;
109
    }
110
 
111
    /**
112
     * 
10 shop2020 113
     * @return features
114
     *     
115
     */
116
    public List<Feature> getFeatures() {
117
        return this.features;
118
    }
119
 
120
    /**
121
     * 
122
     * @param value
123
     *     
124
     */
125
    public void setFeatures(List<Feature> value) {
126
        this.features = value;
127
    }
128
 
129
    /**
130
     * 
131
     * @return freeformContent
132
     *     
133
     */
134
    public FreeformContent getFreeformContent() {
135
        return this.freeformContent;
136
    }
137
 
138
    /**
139
     * 
140
     * @param value
141
     *     
142
     */
143
    public void setFreeformContent(FreeformContent value) {
144
        this.freeformContent = value;
145
    }
21 naveen 146
 
147
	/* (non-Javadoc)
148
	 * @see java.lang.Object#toString()
149
	 */
150
	@Override
151
	public String toString() {
152
		return "Slide [childrenSlides=" + childrenSlides + ", features="
153
				+ features + ", freeformContent=" + freeformContent
154
				+ ", slideDefinitionID=" + slideDefinitionID + "]";
155
	}
156
 
10 shop2020 157
}