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