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