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.AbstractFeed;
20 import com.sun.syndication.common.ToString;
21
22 import java.util.Date;
23 import java.util.List;
24
25 /***
26 * Bean interface for all types of feeds.
27 * <p>
28 * It handles all RSS versions and Atom 0.3, it normalizes all info, it may lose information.
29 * <p>
30 * @author Alejandro Abdelnur
31 *
32 */
33 public interface SyndFeedI extends ToString,Cloneable {
34
35 /***
36 * Returns the real feed types the SyndFeed supports when converting from and to.
37 * <p>
38 * @return the real feed type supported.
39 */
40 List getSupportedFeedTypes();
41
42
43 /***
44 * Creates a real feed of the given type containing the information of the SyndFeed.
45 * <p>
46 * @param type type of the real feed to create.
47 * @return the real feed.
48 *
49 */
50 AbstractFeed createRealFeed(String type);
51
52 /***
53 * Returns the feed title.
54 * <p>
55 * @return the feed title, <b>null</b> if none.
56 *
57 */
58 String getTitle();
59
60 /***
61 * Sets the feed title.
62 * <p>
63 * @param title the feed title to set, <b>null</b> if none.
64 *
65 */
66 void setTitle(String title);
67
68 /***
69 * Returns the feed link.
70 * <p>
71 * @return the feed link, <b>null</b> if none.
72 *
73 */
74 String getLink();
75
76 /***
77 * Sets the feed link.
78 * <p>
79 * @param link the feed link to set, <b>null</b> if none.
80 *
81 */
82 void setLink(String link);
83
84 /***
85 * Returns the feed description.
86 * <p>
87 * @return the feed description, <b>null</b> if none.
88 *
89 */
90 String getDescription();
91
92 /***
93 * Sets the feed description.
94 * <p>
95 * @param description the feed description to set, <b>null</b> if none.
96 *
97 */
98 void setDescription(String description);
99
100 /***
101 * Returns the feed published date.
102 * <p>
103 * This method is a convenience method, it maps to the Dublin Core module date.
104 * <p>
105 * @return the feed published date, <b>null</b> if none.
106 *
107 */
108 Date getPublishedDate();
109
110 /***
111 * Sets the feed published date.
112 * <p>
113 * This method is a convenience method, it maps to the Dublin Core module date.
114 * <p>
115 * @param publishedDate the feed published date to set, <b>null</b> if none.
116 *
117 */
118 void setPublishedDate(Date publishedDate);
119
120 /***
121 * Returns the feed author.
122 * <p>
123 * This method is a convenience method, it maps to the Dublin Core module creator.
124 * <p>
125 * @return the feed author, <b>null</b> if none.
126 *
127 */
128 String getAuthor();
129
130 /***
131 * Sets the feed author.
132 * <p>
133 * This method is a convenience method, it maps to the Dublin Core module creator.
134 * <p>
135 * @param author the feed author to set, <b>null</b> if none.
136 *
137 */
138 void setAuthor(String author);
139
140 /***
141 * Returns the feed copyright.
142 * <p>
143 * This method is a convenience method, it maps to the Dublin Core module rights.
144 * <p>
145 * @return the feed copyright, <b>null</b> if none.
146 *
147 */
148 String getCopyright();
149
150 /***
151 * Sets the feed copyright.
152 * <p>
153 * This method is a convenience method, it maps to the Dublin Core module rights.
154 * <p>
155 * @param copyright the feed copyright to set, <b>null</b> if none.
156 *
157 */
158 void setCopyright(String copyright);
159
160 /***
161 * Returns the feed image.
162 * <p>
163 * @return the feed image, <b>null</b> if none.
164 *
165 */
166 SyndImageI getImage();
167
168 /***
169 * Sets the feed image.
170 * <p>
171 * @param image the feed image to set, <b>null</b> if none.
172 *
173 */
174 void setImage(SyndImageI image);
175
176 /***
177 * Returns the feed categories.
178 * <p>
179 * This method is a convenience method, it maps to the Dublin Core module subjects.
180 * <p>
181 * @return a list of SyndCategory elements with the feed categories,
182 * an empty list if none.
183 *
184 */
185 List getCategories();
186
187 /***
188 * Sets the feed categories.
189 * <p>
190 * This method is a convenience method, it maps to the Dublin Core module subjects.
191 * <p>
192 * @param categories the list of SyndCategory elements with the feed categories to set,
193 * an empty list or <b>null</b> if none.
194 *
195 */
196 void setCategories(List categories);
197
198 /***
199 * Returns the feed entries.
200 * <p>
201 * @return a list of SyndEntry elements with the feed entries,
202 * an empty list if none.
203 *
204 */
205 List getEntries();
206
207 /***
208 * Sets the feed entries.
209 * <p>
210 * @param entries the list of SyndEntry elements with the feed entries to set,
211 * an empty list or <b>null</b> if none.
212 *
213 */
214 void setEntries(List entries);
215
216 /***
217 * Returns the feed language.
218 * <p>
219 * This method is a convenience method, it maps to the Dublin Core module language.
220 * <p>
221 * @return the feed language, <b>null</b> if none.
222 *
223 */
224 String getLanguage();
225
226 /***
227 * Sets the feed language.
228 * <p>
229 * This method is a convenience method, it maps to the Dublin Core module language.
230 * <p>
231 * @param language the feed language to set, <b>null</b> if none.
232 *
233 */
234 void setLanguage(String language);
235
236 /***
237 * Returns the feed modules.
238 * <p>
239 * @return a list of Module elements with the feed modules,
240 * an empty list if none.
241 *
242 */
243 List getModules();
244
245 /***
246 * Sets the feed modules.
247 * <p>
248 * @param modules the list of Module elements with the feed modules to set,
249 * an empty list or <b>null</b> if none.
250 *
251 */
252 void setModules(List modules);
253
254 /***
255 * Creates a deep clone of the object.
256 * <p>
257 * @return a clone of the object.
258 * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
259 *
260 */
261 public Object clone() throws CloneNotSupportedException;
262
263 }