1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.sun.syndication.feed.atom;
18
19 import com.sun.syndication.feed.impl.ObjectBean;
20 import com.sun.syndication.feed.module.Module;
21 import com.sun.syndication.feed.module.impl.ModuleUtils;
22 import com.sun.syndication.feed.impl.ObjectBean;
23
24 import java.util.ArrayList;
25 import java.util.Date;
26 import java.util.List;
27 import java.io.Serializable;
28
29 /***
30 * Bean for entry elements of Atom feeds.
31 * <p>
32 * @author Alejandro Abdelnur
33 *
34 */
35 public class Entry implements Cloneable,Serializable {
36 private ObjectBean _objBean;
37 private String _title;
38 private List _alternateLinks;
39 private List _otherLinks;
40 private Person _author;
41 private List _contributors;
42 private String _id;
43 private Date _modified;
44 private Date _issued;
45 private Date _created;
46 private Content _summary;
47 private List _contents;
48 private List _modules;
49
50 /***
51 * Default constructor. All properties are set to <b>null</b>.
52 * <p>
53 *
54 */
55 public Entry() {
56 _objBean = new ObjectBean(this.getClass(),this);
57 }
58
59 /***
60 * Creates a deep 'bean' clone of the object.
61 * <p>
62 * @return a clone of the object.
63 * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
64 *
65 */
66 public Object clone() throws CloneNotSupportedException {
67 return _objBean.clone();
68 }
69
70 /***
71 * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
72 * <p>
73 * @param other he reference object with which to compare.
74 * @return <b>true</b> if 'this' object is equal to the 'other' object.
75 *
76 */
77 public boolean equals(Object other) {
78 return _objBean.equals(other);
79 }
80
81 /***
82 * Returns a hashcode value for the object.
83 * <p>
84 * It follows the contract defined by the Object hashCode() method.
85 * <p>
86 * @return the hashcode of the bean object.
87 *
88 */
89 public int hashCode() {
90 return _objBean.hashCode();
91 }
92
93 /***
94 * Returns the String representation for the object.
95 * <p>
96 * @return String representation for the object.
97 *
98 */
99 public String toString() {
100 return _objBean.toString();
101 }
102
103 /***
104 * Returns the entry title.
105 * <p>
106 * @return the entry title, <b>null</b> if none.
107 *
108 */
109 public String getTitle() {
110 return _title;
111 }
112
113 /***
114 * Sets the entry title.
115 * <p>
116 * @param title the entry title, <b>null</b> if none.
117 *
118 */
119 public void setTitle(String title) {
120 _title = title;
121 }
122
123 /***
124 * Returns the entry alternate links.
125 * <p>
126 * @return a list of Link elements with the entry alternate links, an empty list if none.
127 *
128 */
129 public List getAlternateLinks() {
130 return (_alternateLinks==null) ? (_alternateLinks=new ArrayList()) : _alternateLinks;
131 }
132
133 /***
134 * Sets the entry alternate links.
135 * <p>
136 * @param alternateLinks the list of Link elements with the entry alternate links to set,
137 * an empty list or <b>null</b> if none.
138 *
139 */
140 public void setAlternateLinks(List alternateLinks) {
141 _alternateLinks = alternateLinks;
142 }
143
144 /***
145 * Returns the entry non-alternate links.
146 * <p>
147 * @return the list of Link elements with the entry non-alternate links to set,
148 * an empty list if none.
149 *
150 */
151 public List getOtherLinks() {
152 return (_otherLinks==null) ? (_otherLinks=new ArrayList()) : _otherLinks;
153 }
154
155 /***
156 * Sets the entry non-alternate links.
157 * <p>
158 * @param otherLinks the list Link elements with the entry non-alternate links to set,
159 * an empty list or <b>null</b> if none.
160 *
161 */
162 public void setOtherLinks(List otherLinks) {
163 _otherLinks = otherLinks;
164 }
165
166 /***
167 * Returns the entry author.
168 * <p>
169 * @return the entry author, <b>null</b> if none.
170 *
171 */
172 public Person getAuthor() {
173 return _author;
174 }
175
176 /***
177 * Sets the author of the entry.
178 * <p>
179 * @param author the author of the entry, <b>null</b> if none.
180 *
181 */
182 public void setAuthor(Person author) {
183 _author = author;
184 }
185
186 /***
187 * Returns the entry contributors.
188 * <p>
189 * @return a list of Person elements with the entry contributors,
190 * an empty list if none.
191 *
192 */
193 public List getContributors() {
194 return (_contributors==null) ? (_contributors=new ArrayList()) : _contributors;
195 }
196
197 /***
198 * Sets the entry contributors.
199 * <p>
200 * @param contributors the list of Person elements with the entry contributors to set,
201 * an empty list or <b>null</b> if none.
202 *
203 */
204 public void setContributors(List contributors) {
205 _contributors = contributors;
206 }
207
208 /***
209 * Returns the entry ID.
210 * <p>
211 * @return the entry ID, <b>null</b> if none.
212 *
213 */
214 public String getId() {
215 return _id;
216 }
217
218 /***
219 * Sets the entry ID.
220 * <p>
221 * @param id the entry ID, <b>null</b> if none.
222 *
223 */
224 public void setId(String id) {
225 _id = id;
226 }
227
228 /***
229 * Returns the entry modified date.
230 * <p>
231 * @return the entry modified date, <b>null</b> if none.
232 *
233 */
234 public Date getModified() {
235 return _modified;
236 }
237
238 /***
239 * Sets the entry modified date.
240 * <p>
241 * @param modified the entry modified date, <b>null</b> if none.
242 *
243 */
244 public void setModified(Date modified) {
245 _modified = modified;
246 }
247
248 /***
249 * Returns the entry issued date.
250 * <p>
251 * @return the entry issued date, <b>null</b> if none.
252 *
253 */
254 public Date getIssued() {
255 return _issued;
256 }
257
258 /***
259 * Sets the entry issued date.
260 * <p>
261 * @param issued the entry issued date, <b>null</b> if none.
262 *
263 */
264 public void setIssued(Date issued) {
265 _issued = issued;
266 }
267
268 /***
269 * Returns the entry created date.
270 * <p>
271 * @return the entry created date, <b>null</b> if none.
272 *
273 */
274 public Date getCreated() {
275 return _created;
276 }
277
278 /***
279 * Sets the entry created date.
280 * <p>
281 * @param created the entry created date, <b>null</b> if none.
282 *
283 */
284 public void setCreated(Date created) {
285 _created = created;
286 }
287
288 /***
289 * Returns the entry summary.
290 * <p>
291 * @return the entry summary, <b>null</b> if none.
292 *
293 */
294 public Content getSummary() {
295 return _summary;
296 }
297
298 /***
299 * Sets the entry summary.
300 * <p>
301 * @param summary the entry summary, <b>null</b> if none.
302 *
303 */
304 public void setSummary(Content summary) {
305 _summary = summary;
306 }
307
308 /***
309 * Returns the entry contents.
310 * <p>
311 * @return a list of Content elements with the entry contents,
312 * an empty list if none.
313 *
314 */
315 public List getContents() {
316 return (_contents==null) ? (_contents=new ArrayList()) : _contents;
317 }
318
319 /***
320 * Sets the entry contents.
321 * <p>
322 * @param contents the list of Content elements with the entry contents to set,
323 * an empty list or <b>null</b> if none.
324 *
325 */
326 public void setContents(List contents) {
327 _contents = contents;
328 }
329
330 /***
331 * Returns the entry modules.
332 * <p>
333 * @return a list of ModuleImpl elements with the entry modules,
334 * an emtpy list if none.
335 *
336 */
337 public List getModules() {
338 return (_modules==null) ? (_modules=new ArrayList()) : _modules;
339 }
340
341 /***
342 * Sets the entry modules.
343 * <p>
344 * @param modules the list of ModuleImpl elements with the entry modules to set,
345 * an empty list or <b>null</b> if none.
346 *
347 */
348 public void setModules(List modules) {
349 _modules = modules;
350 }
351
352 /***
353 * Returns the module identified by a given URI.
354 * <p>
355 * @param uri the URI of the ModuleImpl.
356 * @return The module with the given URI, <b>null</b> if none.
357 */
358 public Module getModule(String uri) {
359 return ModuleUtils.getModule(_modules,uri);
360 }
361
362 }