View Javadoc

1   /*
2    * Copyright 2004 Sun Microsystems, Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
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.ModuleI;
22  
23  import java.util.Date;
24  import java.util.List;
25  
26  /***
27   * Bean interface for entries of SyndFeed feeds.
28   * <p>
29   * @author Alejandro Abdelnur
30   *
31   */
32  public interface SyndEntryI extends ToString,Cloneable,CopyFrom {
33      /***
34       * Returns the entry title.
35       * <p>
36       * @return the entry title, <b>null</b> if none.
37       *
38       */
39      String getTitle();
40  
41      /***
42       * Sets the entry title.
43       * <p>
44       * @param title the entry title to set, <b>null</b> if none.
45       *
46       */
47      void setTitle(String title);
48  
49      /***
50       * Returns the entry link.
51       * <p>
52       * @return the entry link, <b>null</b> if none.
53       *
54       */
55      String getLink();
56  
57      /***
58       * Sets the entry link.
59       * <p>
60       * @param link the entry link to set, <b>null</b> if none.
61       *
62       */
63      void setLink(String link);
64  
65      /***
66       * Returns the entry description.
67       * <p>
68       * @return the entry description, <b>null</b> if none.
69       *
70       */
71      SyndContentI getDescription();
72  
73      /***
74       * Sets the entry description.
75       * <p>
76       * @param description the entry description to set, <b>null</b> if none.
77       *
78       */
79      void setDescription(SyndContentI description);
80  
81      /***
82       * Returns the entry contents.
83       * <p>
84       * @return a list of SyndContent elements with the entry contents,
85       *         an empty list if none.
86       *
87       */
88      List getContents();
89  
90      /***
91       * Sets the entry contents.
92       * <p>
93       * @param contents the list of SyndContent elements with the entry contents to set,
94       *        an empty list or <b>null</b> if none.
95       *
96       */
97      void setContents(List contents);
98  
99      /***
100      * Returns the entry published date.
101      * <p>
102      * This method is a convenience method, it maps to the Dublin Core module date.
103      * <p>
104      * @return the entry published date, <b>null</b> if none.
105      *
106      */
107     Date getPublishedDate();
108 
109     /***
110      * Sets the entry published date.
111      * <p>
112      * This method is a convenience method, it maps to the Dublin Core module date.
113      * <p>
114      * @param publishedDate the entry published date to set, <b>null</b> if none.
115      *
116      */
117     void setPublishedDate(Date publishedDate);
118 
119     /***
120      * Returns the entry author.
121      * <p>
122      * This method is a convenience method, it maps to the Dublin Core module creator.
123      * <p>
124      * @return the entry author, <b>null</b> if none.
125      *
126      */
127     String getAuthor();
128 
129     /***
130      * Sets the entry author.
131      * <p>
132      * This method is a convenience method, it maps to the Dublin Core module creator.
133      * <p>
134      * @param author the entry author to set, <b>null</b> if none.
135      *
136      */
137     void setAuthor(String author);
138 
139     /***
140      * Returns the entry categories.
141      * <p>
142      * This method is a convenience method, it maps to the Dublin Core module subjects.
143      * <p>
144      * @return a list of SyndCategory elements with the entry categories,
145      *         an empty list if none.
146      *
147      */
148     List getCategories();
149 
150     /***
151      * Sets the entry categories.
152      * <p>
153      * This method is a convenience method, it maps to the Dublin Core module subjects.
154      * <p>
155      * @param categories the list of SyndCategory elements with the entry categories to set,
156      *        an empty list or <b>null</b> if none.
157      *
158      */
159     void setCategories(List categories);
160 
161     /***
162      * Returns the module identified by a given URI.
163      * <p>
164      * @param uri the URI of the Module.
165      * @return The module with the given URI, <b>null</b> if none.
166      */
167     public ModuleI getModule(String uri);
168 
169     /***
170      * Returns the entry modules.
171      * <p>
172      * @return a list of Module elements with the entry modules,
173      *         an empty list if none.
174      *
175      */
176     List getModules();
177 
178     /***
179      * Sets the entry modules.
180      * <p>
181      * @param modules the list of Module elements with the entry modules to set,
182      *        an empty list or <b>null</b> if none.
183      *
184      */
185     void setModules(List modules);
186 
187     /***
188      * Creates a deep clone of the object.
189      * <p>
190      * @return a clone of the object.
191      * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
192      *
193      */
194     public Object clone() throws CloneNotSupportedException;
195 
196 }