1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.sun.syndication.feed.synd;
18
19 import com.sun.syndication.feed.CopyFrom;
20 import com.sun.syndication.feed.module.Module;
21
22 import java.util.Date;
23 import java.util.List;
24
25 /***
26 * Bean interface for entries of SyndFeedImpl feeds.
27 * <p>
28 * @author Alejandro Abdelnur
29 *
30 */
31 public interface SyndEntry extends Cloneable,CopyFrom {
32
33 /***
34 * Returns the entry URI.
35 * <p>
36 * How the entry URI maps to a concrete feed type (RSS or Atom) depends on
37 * the concrete feed type. This is explained in detail in Rome documentation,
38 * <a href="http://wiki.java.net/bin/edit/Javawsxml/Rome04URIMapping">Feed and entry URI mapping</a>.
39 * <p>
40 * The returned URI is a normalized URI as specified in RFC 2396bis.
41 * <p>
42 * @return the entry URI, <b>null</b> if none.
43 *
44 */
45 String getUri();
46
47 /***
48 * Sets the entry URI.
49 * <p>
50 * How the entry URI maps to a concrete feed type (RSS or Atom) depends on
51 * the concrete feed type. This is explained in detail in Rome documentation,
52 * <a href="http://wiki.java.net/bin/edit/Javawsxml/Rome04URIMapping">Feed and entry URI mapping</a>.
53 * <p>
54 * @param uri the entry URI to set, <b>null</b> if none.
55 *
56 */
57 void setUri(String uri);
58
59 /***
60 * Returns the entry title.
61 * <p>
62 * @return the entry title, <b>null</b> if none.
63 *
64 */
65 String getTitle();
66
67 /***
68 * Sets the entry title.
69 * <p>
70 * @param title the entry title to set, <b>null</b> if none.
71 *
72 */
73 void setTitle(String title);
74
75 /***
76 * Returns the entry link.
77 * <p>
78 * @return the entry link, <b>null</b> if none.
79 *
80 */
81 String getLink();
82
83 /***
84 * Sets the entry link.
85 * <p>
86 * @param link the entry link to set, <b>null</b> if none.
87 *
88 */
89 void setLink(String link);
90
91 /***
92 * Returns the entry description.
93 * <p>
94 * @return the entry description, <b>null</b> if none.
95 *
96 */
97 SyndContent getDescription();
98
99 /***
100 * Sets the entry description.
101 * <p>
102 * @param description the entry description to set, <b>null</b> if none.
103 *
104 */
105 void setDescription(SyndContent description);
106
107 /***
108 * Returns the entry contents.
109 * <p>
110 * @return a list of SyndContentImpl elements with the entry contents,
111 * an empty list if none.
112 *
113 */
114 List getContents();
115
116 /***
117 * Sets the entry contents.
118 * <p>
119 * @param contents the list of SyndContentImpl elements with the entry contents to set,
120 * an empty list or <b>null</b> if none.
121 *
122 */
123 void setContents(List contents);
124
125 /***
126 * Returns the entry published date.
127 * <p>
128 * This method is a convenience method, it maps to the Dublin Core module date.
129 * <p>
130 * @return the entry published date, <b>null</b> if none.
131 *
132 */
133 Date getPublishedDate();
134
135 /***
136 * Sets the entry published date.
137 * <p>
138 * This method is a convenience method, it maps to the Dublin Core module date.
139 * <p>
140 * @param publishedDate the entry published date to set, <b>null</b> if none.
141 *
142 */
143 void setPublishedDate(Date publishedDate);
144
145 /***
146 * Returns the entry author.
147 * <p>
148 * This method is a convenience method, it maps to the Dublin Core module creator.
149 * <p>
150 * @return the entry author, <b>null</b> if none.
151 *
152 */
153 String getAuthor();
154
155 /***
156 * Sets the entry author.
157 * <p>
158 * This method is a convenience method, it maps to the Dublin Core module creator.
159 * <p>
160 * @param author the entry author to set, <b>null</b> if none.
161 *
162 */
163 void setAuthor(String author);
164
165 /***
166 * Returns the entry categories.
167 * <p>
168 * This method is a convenience method, it maps to the Dublin Core module subjects.
169 * <p>
170 * @return a list of SyndCategoryImpl elements with the entry categories,
171 * an empty list if none.
172 *
173 */
174 List getCategories();
175
176 /***
177 * Sets the entry categories.
178 * <p>
179 * This method is a convenience method, it maps to the Dublin Core module subjects.
180 * <p>
181 * @param categories the list of SyndCategoryImpl elements with the entry categories to set,
182 * an empty list or <b>null</b> if none.
183 *
184 */
185 void setCategories(List categories);
186
187 /***
188 * Returns the module identified by a given URI.
189 * <p>
190 * @param uri the URI of the ModuleImpl.
191 * @return The module with the given URI, <b>null</b> if none.
192 */
193 public Module getModule(String uri);
194
195 /***
196 * Returns the entry modules.
197 * <p>
198 * @return a list of ModuleImpl elements with the entry modules,
199 * an empty list if none.
200 *
201 */
202 List getModules();
203
204 /***
205 * Sets the entry modules.
206 * <p>
207 * @param modules the list of ModuleImpl elements with the entry modules to set,
208 * an empty list or <b>null</b> if none.
209 *
210 */
211 void setModules(List modules);
212
213 /***
214 * Creates a deep clone of the object.
215 * <p>
216 * @return a clone of the object.
217 * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
218 *
219 */
220 public Object clone() throws CloneNotSupportedException;
221
222 }