View Javadoc

1   /*
2    * $Id$
3    */
4   
5   package org.apache.maven.model;
6   
7     //---------------------------------/
8    //- Imported classes and packages -/
9   //---------------------------------/
10  
11  import java.util.Date;
12  
13  /**
14   * This element describes all of the mailing lists associated with
15   * a project. The
16   *         auto-generated site references this information.
17   * 
18   * @version $Revision$ $Date$
19   */
20  public class MailingList implements java.io.Serializable {
21  
22  
23        //--------------------------/
24       //- Class/Member Variables -/
25      //--------------------------/
26  
27      /**
28       * 
29       *             
30       *             The name of the mailing list.
31       *             
32       *           
33       */
34      private String name;
35  
36      /**
37       * 
38       *             
39       *             The email address or link that can be used to
40       * subscribe to
41       *             the mailing list.  If this is an email address,
42       * a
43       *             <code>mailto:</code> link will automatically be
44       * created
45       *             when the documentation is created.
46       *             
47       *           
48       */
49      private String subscribe;
50  
51      /**
52       * 
53       *             
54       *             The email address or link that can be used to
55       * unsubscribe to
56       *             the mailing list.  If this is an email address,
57       * a
58       *             <code>mailto:</code> link will automatically be
59       * created
60       *             when the documentation is created.
61       *             
62       *           
63       */
64      private String unsubscribe;
65  
66      /**
67       * 
68       *             
69       *             The email address or link that can be used to
70       * post to
71       *             the mailing list.  If this is an email address,
72       * a
73       *             <code>mailto:</code> link will automatically be
74       * created
75       *             when the documentation is created.
76       *             
77       *           
78       */
79      private String post;
80  
81      /**
82       * The link to a URL where you can browse the mailing list
83       * archive.
84       */
85      private String archive;
86  
87      /**
88       * Field otherArchives.
89       */
90      private java.util.List otherArchives;
91  
92  
93        //-----------/
94       //- Methods -/
95      //-----------/
96  
97      /**
98       * Method addOtherArchive.
99       * 
100      * @param string
101      */
102     public void addOtherArchive( String string )
103     {
104         if ( !(string instanceof String) )
105         {
106             throw new ClassCastException( "MailingList.addOtherArchives(string) parameter must be instanceof " + String.class.getName() );
107         }
108         getOtherArchives().add( string );
109     } //-- void addOtherArchive( String ) 
110 
111     /**
112      * Get the link to a URL where you can browse the mailing list
113      * archive.
114      * 
115      * @return String
116      */
117     public String getArchive()
118     {
119         return this.archive;
120     } //-- String getArchive() 
121 
122     /**
123      * Get 
124      *             
125      *             The name of the mailing list.
126      *             
127      *           
128      * 
129      * @return String
130      */
131     public String getName()
132     {
133         return this.name;
134     } //-- String getName() 
135 
136     /**
137      * Method getOtherArchives.
138      * 
139      * @return java.util.List
140      */
141     public java.util.List getOtherArchives()
142     {
143         if ( this.otherArchives == null )
144         {
145             this.otherArchives = new java.util.ArrayList();
146         }
147     
148         return this.otherArchives;
149     } //-- java.util.List getOtherArchives() 
150 
151     /**
152      * Get 
153      *             
154      *             The email address or link that can be used to
155      * post to
156      *             the mailing list.  If this is an email address,
157      * a
158      *             <code>mailto:</code> link will automatically be
159      * created
160      *             when the documentation is created.
161      *             
162      *           
163      * 
164      * @return String
165      */
166     public String getPost()
167     {
168         return this.post;
169     } //-- String getPost() 
170 
171     /**
172      * Get 
173      *             
174      *             The email address or link that can be used to
175      * subscribe to
176      *             the mailing list.  If this is an email address,
177      * a
178      *             <code>mailto:</code> link will automatically be
179      * created
180      *             when the documentation is created.
181      *             
182      *           
183      * 
184      * @return String
185      */
186     public String getSubscribe()
187     {
188         return this.subscribe;
189     } //-- String getSubscribe() 
190 
191     /**
192      * Get 
193      *             
194      *             The email address or link that can be used to
195      * unsubscribe to
196      *             the mailing list.  If this is an email address,
197      * a
198      *             <code>mailto:</code> link will automatically be
199      * created
200      *             when the documentation is created.
201      *             
202      *           
203      * 
204      * @return String
205      */
206     public String getUnsubscribe()
207     {
208         return this.unsubscribe;
209     } //-- String getUnsubscribe() 
210 
211     /**
212      * Method removeOtherArchive.
213      * 
214      * @param string
215      */
216     public void removeOtherArchive( String string )
217     {
218         if ( !(string instanceof String) )
219         {
220             throw new ClassCastException( "MailingList.removeOtherArchives(string) parameter must be instanceof " + String.class.getName() );
221         }
222         getOtherArchives().remove( string );
223     } //-- void removeOtherArchive( String ) 
224 
225     /**
226      * Set the link to a URL where you can browse the mailing list
227      * archive.
228      * 
229      * @param archive
230      */
231     public void setArchive( String archive )
232     {
233         this.archive = archive;
234     } //-- void setArchive( String ) 
235 
236     /**
237      * Set 
238      *             
239      *             The name of the mailing list.
240      *             
241      *           
242      * 
243      * @param name
244      */
245     public void setName( String name )
246     {
247         this.name = name;
248     } //-- void setName( String ) 
249 
250     /**
251      * Set the link to alternate URLs where you can browse the list
252      * archive.
253      * 
254      * @param otherArchives
255      */
256     public void setOtherArchives( java.util.List otherArchives )
257     {
258         this.otherArchives = otherArchives;
259     } //-- void setOtherArchives( java.util.List ) 
260 
261     /**
262      * Set 
263      *             
264      *             The email address or link that can be used to
265      * post to
266      *             the mailing list.  If this is an email address,
267      * a
268      *             <code>mailto:</code> link will automatically be
269      * created
270      *             when the documentation is created.
271      *             
272      *           
273      * 
274      * @param post
275      */
276     public void setPost( String post )
277     {
278         this.post = post;
279     } //-- void setPost( String ) 
280 
281     /**
282      * Set 
283      *             
284      *             The email address or link that can be used to
285      * subscribe to
286      *             the mailing list.  If this is an email address,
287      * a
288      *             <code>mailto:</code> link will automatically be
289      * created
290      *             when the documentation is created.
291      *             
292      *           
293      * 
294      * @param subscribe
295      */
296     public void setSubscribe( String subscribe )
297     {
298         this.subscribe = subscribe;
299     } //-- void setSubscribe( String ) 
300 
301     /**
302      * Set 
303      *             
304      *             The email address or link that can be used to
305      * unsubscribe to
306      *             the mailing list.  If this is an email address,
307      * a
308      *             <code>mailto:</code> link will automatically be
309      * created
310      *             when the documentation is created.
311      *             
312      *           
313      * 
314      * @param unsubscribe
315      */
316     public void setUnsubscribe( String unsubscribe )
317     {
318         this.unsubscribe = unsubscribe;
319     } //-- void setUnsubscribe( String ) 
320 
321 
322     private String modelEncoding = "UTF-8";
323 
324     /**
325      * Set an encoding used for reading/writing the model.
326      *
327      * @param modelEncoding the encoding used when reading/writing the model.
328      */
329     public void setModelEncoding( String modelEncoding )
330     {
331         this.modelEncoding = modelEncoding;
332     }
333 
334     /**
335      * @return the current encoding used when reading/writing this model.
336      */
337     public String getModelEncoding()
338     {
339         return modelEncoding;
340     }
341 }