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
 
88 naveen 46
	/**
47
	 * True, if borrowed
48
	 */
49
	private boolean isBorrowed;
50
 
51
	/**
52
	 * Reference to source category
53
	 */
54
	private long borrowedCategoryID;
10 shop2020 55
 
56
	/**
57
	 * 
45 naveen 58
	 * @param slideDefinitionID Slide Definition ID
10 shop2020 59
	 */ 
21 naveen 60
    public Slide(long slideDefinitionID) {
10 shop2020 61
    	this.slideDefinitionID = slideDefinitionID;
62
    }
63
 
64
    /**
65
     * 
45 naveen 66
     * @return slideDefinitionID Slide Definition ID
10 shop2020 67
     */
21 naveen 68
    public long getSlideDefinitionID() {
10 shop2020 69
        return this.slideDefinitionID;
70
    }
71
 
72
    /**
73
     * 
45 naveen 74
     * @return childrenSlides List of children slides
10 shop2020 75
     *     
76
     */
77
    public List<Slide> getChildrenSlides() {
78
        return this.childrenSlides;
79
    }
80
 
81
    /**
82
     * 
45 naveen 83
     * @param value children slides to set
10 shop2020 84
     *     
85
     */
86
    public void setChildrenSlides(List<Slide> value) {
87
        this.childrenSlides = value;
88
    }
43 naveen 89
 
90
    /**
45 naveen 91
     * Adds new child slide to childrens list
43 naveen 92
     * 
45 naveen 93
     * @param child 
43 naveen 94
     */
95
    public void addChild(Slide child) {
96
    	if(this.childrenSlides == null) {
97
    		this.childrenSlides = new ArrayList<Slide>();
98
    	}
99
 
100
    	this.childrenSlides.add(child);
101
    }
10 shop2020 102
 
103
    /**
45 naveen 104
     * Handy function to check existence of children
10 shop2020 105
     * 
43 naveen 106
     * @return boolean
107
     */
73 naveen 108
    public boolean hasChildrenSlides() {
109
    	return !(this.childrenSlides == null || this.childrenSlides.isEmpty());
43 naveen 110
    }
111
 
112
    /**
113
     * 
10 shop2020 114
     * @return features
115
     *     
116
     */
117
    public List<Feature> getFeatures() {
118
        return this.features;
119
    }
120
 
121
    /**
73 naveen 122
     * Handy function to check existence of features
10 shop2020 123
     * 
73 naveen 124
     * @return boolean
125
     */
126
    public boolean hasFeatures() {
127
    	return !(this.features == null || this.features.isEmpty());
128
    }
129
 
130
    /**
131
     * 
10 shop2020 132
     * @param value
133
     *     
134
     */
135
    public void setFeatures(List<Feature> value) {
136
        this.features = value;
137
    }
138
 
139
    /**
140
     * 
141
     * @return freeformContent
142
     *     
143
     */
144
    public FreeformContent getFreeformContent() {
145
        return this.freeformContent;
146
    }
147
 
148
    /**
149
     * 
150
     * @param value
151
     *     
152
     */
153
    public void setFreeformContent(FreeformContent value) {
154
        this.freeformContent = value;
155
    }
21 naveen 156
 
88 naveen 157
	/**
158
	 * @param isBorrowed the isBorrowed to set
159
	 */
160
	public void setBorrowed(boolean isBorrowed) {
161
		this.isBorrowed = isBorrowed;
162
	}
163
 
164
	/**
165
	 * @return the isBorrowed
166
	 */
167
	public boolean isBorrowed() {
168
		return isBorrowed;
169
	}
170
 
171
	/**
172
	 * @param borrowedCategoryID the borrowedCategoryID to set
173
	 */
174
	public void setBorrowedCategoryID(long borrowedCategoryID) {
175
		this.borrowedCategoryID = borrowedCategoryID;
176
	}
177
 
178
	/**
179
	 * @return the borrowedCategoryID
180
	 */
181
	public long getBorrowedCategoryID() {
182
		return borrowedCategoryID;
183
	}
184
 
21 naveen 185
	/* (non-Javadoc)
186
	 * @see java.lang.Object#toString()
187
	 */
188
	@Override
189
	public String toString() {
88 naveen 190
		return "Slide [borrowedCategoryID=" + borrowedCategoryID
191
				+ ", childrenSlides=" + childrenSlides + ", features="
21 naveen 192
				+ features + ", freeformContent=" + freeformContent
88 naveen 193
				+ ", isBorrowed=" + isBorrowed + ", slideDefinitionID="
194
				+ slideDefinitionID + "]";
21 naveen 195
	}
196
 
10 shop2020 197
}