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
     */
73 naveen 99
    public boolean hasChildrenSlides() {
100
    	return !(this.childrenSlides == null || this.childrenSlides.isEmpty());
43 naveen 101
    }
102
 
103
    /**
104
     * 
10 shop2020 105
     * @return features
106
     *     
107
     */
108
    public List<Feature> getFeatures() {
109
        return this.features;
110
    }
111
 
112
    /**
73 naveen 113
     * Handy function to check existence of features
10 shop2020 114
     * 
73 naveen 115
     * @return boolean
116
     */
117
    public boolean hasFeatures() {
118
    	return !(this.features == null || this.features.isEmpty());
119
    }
120
 
121
    /**
122
     * 
10 shop2020 123
     * @param value
124
     *     
125
     */
126
    public void setFeatures(List<Feature> value) {
127
        this.features = value;
128
    }
129
 
130
    /**
131
     * 
132
     * @return freeformContent
133
     *     
134
     */
135
    public FreeformContent getFreeformContent() {
136
        return this.freeformContent;
137
    }
138
 
139
    /**
140
     * 
141
     * @param value
142
     *     
143
     */
144
    public void setFreeformContent(FreeformContent value) {
145
        this.freeformContent = value;
146
    }
21 naveen 147
 
148
	/* (non-Javadoc)
149
	 * @see java.lang.Object#toString()
150
	 */
151
	@Override
152
	public String toString() {
153
		return "Slide [childrenSlides=" + childrenSlides + ", features="
154
				+ features + ", freeformContent=" + freeformContent
155
				+ ", slideDefinitionID=" + slideDefinitionID + "]";
156
	}
157
 
10 shop2020 158
}