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.ReusableMetaModelComponent;
8
 
21 naveen 9
import java.util.ArrayList;
10 shop2020 10
import java.util.List;
11
 
12
/**
45 naveen 13
 * Entity class is the center of shop2020 content meta-model. Represents 
14
 * a Product that is part of shop2020 online shopping catalog. 
10 shop2020 15
 * 
45 naveen 16
 * It is composed of other classes in meta-model core package, 
17
 * classes in meta-model definition package define its structure.
18
 * 
10 shop2020 19
 * @author naveen
20
 *
21
 */
22
public class Entity extends ReusableMetaModelComponent {
23
    /**
24
	 * 
25
	 */
26
	private static final long serialVersionUID = 1L;
45 naveen 27
 
28
	/**
29
	 * Pointer to entity's category 
30
	 */
21 naveen 31
	private long categoryID;
45 naveen 32
 
33
	/**
34
	 * Manufacturer brand
35
	 */
10 shop2020 36
	private String brand;
45 naveen 37
 
38
	/**
39
	 * Manufacturer provided Model Number
40
	 */
10 shop2020 41
	private String modelNumber;
45 naveen 42
 
43
	/**
44
	 * Manufacturer provided Model Name
45
	 */
10 shop2020 46
	private String modelName;
45 naveen 47
 
48
	/**
49
	 * List of slides that describe the entity
50
	 */
10 shop2020 51
	private List<Slide> slides;
21 naveen 52
 
53
	/**
54
	 * 
45 naveen 55
	 * @param newID Unique identifier
56
	 * @param categoryID Category ID
21 naveen 57
	 */
58
    public Entity(long newID, long categoryID) {
10 shop2020 59
    	super(newID);
21 naveen 60
    	this.categoryID = categoryID;
10 shop2020 61
    }
62
 
63
    /**
64
     * 
65
     * @return categoryID
66
     *     
67
     */
21 naveen 68
    public long getCategoryID() {
10 shop2020 69
        return this.categoryID;
70
    }
71
 
72
    /**
73
     * 
45 naveen 74
     * @param value Category ID to set
10 shop2020 75
     *     
76
     */
199 naveen 77
    public void setCategoryID(long value) {
10 shop2020 78
        this.categoryID = value;
79
    }
80
 
81
    /**
82
     * 
83
     * @return brand
84
     *     
85
     */
86
    public String getBrand() {
87
        return this.brand;
88
    }
89
 
90
    /**
91
     * 
45 naveen 92
     * @param value Brand to set
10 shop2020 93
     *     
94
     */
95
    public void setBrand(String value) {
96
        this.brand = value;
97
    }
98
 
99
    /**
100
     * 
45 naveen 101
     * @return modelNumber Model Number 
10 shop2020 102
     *     
103
     */
104
    public String getModelNumber() {
105
        return this.modelNumber;
106
    }
107
 
108
    /**
109
     * 
45 naveen 110
     * @param value Model Number to set
10 shop2020 111
     *     
112
     */
113
    public void setModelNumber(String value) {
114
        this.modelNumber = value;
115
    }
116
 
117
    /**
118
     * 
45 naveen 119
     * @return modelName Model Name
10 shop2020 120
     *     
121
     */
122
    public String getModelName() {
123
        return this.modelName;
124
    }
125
 
126
    /**
127
     * 
45 naveen 128
     * @param value Model Name to set
10 shop2020 129
     *     
130
     */
131
    public void setModelName(String value) {
132
        this.modelName = value;
133
    }
134
 
135
    /**
136
     * 
137
     * @return slides
138
     *     
139
     */
140
    public List<Slide> getSlides() {
141
        return this.slides;
142
    }
21 naveen 143
 
10 shop2020 144
    /**
145
     * 
45 naveen 146
     * @param slide to add new slides to an entity
21 naveen 147
     */
148
    public void addSlide(Slide slide) {
149
    	if(this.slides == null) {
150
    		this.slides = new ArrayList<Slide>();
151
    	}
214 naveen 152
    	else {
153
	    	Slide currentSlide = this.getSlide(slide.getSlideDefinitionID());
154
	    	this.slides.remove(currentSlide);
155
    	}
156
 
21 naveen 157
    	this.slides.add(slide);
158
    }
159
 
160
    /**
161
     * 
216 naveen 162
     * @param slideDefinitionID
163
     */
164
    public void removeSlide(long slideDefinitionID) {
165
    	if(this.slides != null) {
166
    		Slide slide = this.getSlide(slideDefinitionID);
167
    		if(slide != null) {
168
    			this.slides.remove(slide);
169
    		}
170
    	}
171
    }
172
 
173
    /**
174
     * 
45 naveen 175
     * @param value list of slides to set
10 shop2020 176
     *     
177
     */
178
    public void setSlides(List<Slide> value) {
179
        this.slides = value;
180
    }
21 naveen 181
 
199 naveen 182
	/**
183
	 * Returns ExpandedSlide instance given slide definition ID
184
	 * @param slideDefinitionID
185
	 * @return ExpandedSlide 
186
	 */
187
	public Slide getSlide(long slideDefinitionID) {
188
		for(Slide slide : this.slides) {
189
			if(slide.getSlideDefinitionID() == slideDefinitionID) {
190
				return slide;
191
			}
192
		}
193
 
194
		return null;
195
	}
196
 
21 naveen 197
	/* (non-Javadoc)
198
	 * @see java.lang.Object#toString()
199
	 */
200
	@Override
201
	public String toString() {
202
		return "Entity [brand=" + brand + ", categoryID=" + categoryID
203
				+ ", modelName=" + modelName + ", modelNumber=" + modelNumber
204
				+ ", slides=" + slides + ", getID()=" + getID() + "]";
205
	}
206
 
10 shop2020 207
}