001    /*
002     =================== DO NOT EDIT THIS FILE ====================
003     Generated by Modello 1.4.1 on 2012-01-20 18:09:18,
004     any modifications will be overwritten.
005     ==============================================================
006     */
007    
008    package org.apache.maven.model;
009    
010    /**
011     * This element describes all of the mailing lists associated with
012     * a project. The
013     *         auto-generated site references this information.
014     * 
015     * @version $Revision$ $Date$
016     */
017    @SuppressWarnings( "all" )
018    public class MailingList
019        implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
020    {
021    
022          //--------------------------/
023         //- Class/Member Variables -/
024        //--------------------------/
025    
026        /**
027         * 
028         *             
029         *             The name of the mailing list.
030         *             
031         *           
032         */
033        private String name;
034    
035        /**
036         * 
037         *             
038         *             The email address or link that can be used to
039         * subscribe to
040         *             the mailing list.  If this is an email address,
041         * a
042         *             <code>mailto:</code> link will automatically be
043         * created
044         *             when the documentation is created.
045         *             
046         *           
047         */
048        private String subscribe;
049    
050        /**
051         * 
052         *             
053         *             The email address or link that can be used to
054         * unsubscribe to
055         *             the mailing list.  If this is an email address,
056         * a
057         *             <code>mailto:</code> link will automatically be
058         * created
059         *             when the documentation is created.
060         *             
061         *           
062         */
063        private String unsubscribe;
064    
065        /**
066         * 
067         *             
068         *             The email address or link that can be used to
069         * post to
070         *             the mailing list.  If this is an email address,
071         * a
072         *             <code>mailto:</code> link will automatically be
073         * created
074         *             when the documentation is created.
075         *             
076         *           
077         */
078        private String post;
079    
080        /**
081         * The link to a URL where you can browse the mailing list
082         * archive.
083         */
084        private String archive;
085    
086        /**
087         * Field otherArchives.
088         */
089        private java.util.List<String> otherArchives;
090    
091        /**
092         * Field locations.
093         */
094        private java.util.Map<Object, InputLocation> locations;
095    
096    
097          //-----------/
098         //- Methods -/
099        //-----------/
100    
101        /**
102         * Method addOtherArchive.
103         * 
104         * @param string
105         */
106        public void addOtherArchive( String string )
107        {
108            getOtherArchives().add( string );
109        } //-- void addOtherArchive( String )
110    
111        /**
112         * Method clone.
113         * 
114         * @return MailingList
115         */
116        public MailingList clone()
117        {
118            try
119            {
120                MailingList copy = (MailingList) super.clone();
121    
122                if ( this.otherArchives != null )
123                {
124                    copy.otherArchives = new java.util.ArrayList<String>();
125                    copy.otherArchives.addAll( this.otherArchives );
126                }
127    
128                if ( copy.locations != null )
129                {
130                    copy.locations = new java.util.LinkedHashMap( copy.locations );
131                }
132    
133                return copy;
134            }
135            catch ( java.lang.Exception ex )
136            {
137                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
138                    + " does not support clone()" ).initCause( ex );
139            }
140        } //-- MailingList clone()
141    
142        /**
143         * Get the link to a URL where you can browse the mailing list
144         * archive.
145         * 
146         * @return String
147         */
148        public String getArchive()
149        {
150            return this.archive;
151        } //-- String getArchive()
152    
153        /**
154         * 
155         * 
156         * @param key
157         * @return InputLocation
158         */
159        public InputLocation getLocation( Object key )
160        {
161            return ( locations != null ) ? locations.get( key ) : null;
162        } //-- InputLocation getLocation( Object )
163    
164        /**
165         * Get the name of the mailing list.
166         * 
167         * @return String
168         */
169        public String getName()
170        {
171            return this.name;
172        } //-- String getName()
173    
174        /**
175         * Method getOtherArchives.
176         * 
177         * @return List
178         */
179        public java.util.List<String> getOtherArchives()
180        {
181            if ( this.otherArchives == null )
182            {
183                this.otherArchives = new java.util.ArrayList<String>();
184            }
185    
186            return this.otherArchives;
187        } //-- java.util.List<String> getOtherArchives()
188    
189        /**
190         * Get the email address or link that can be used to post to
191         *             the mailing list.  If this is an email address,
192         * a
193         *             <code>mailto:</code> link will automatically be
194         * created
195         *             when the documentation is created.
196         * 
197         * @return String
198         */
199        public String getPost()
200        {
201            return this.post;
202        } //-- String getPost()
203    
204        /**
205         * Get the email address or link that can be used to subscribe
206         * to
207         *             the mailing list.  If this is an email address,
208         * a
209         *             <code>mailto:</code> link will automatically be
210         * created
211         *             when the documentation is created.
212         * 
213         * @return String
214         */
215        public String getSubscribe()
216        {
217            return this.subscribe;
218        } //-- String getSubscribe()
219    
220        /**
221         * Get the email address or link that can be used to
222         * unsubscribe to
223         *             the mailing list.  If this is an email address,
224         * a
225         *             <code>mailto:</code> link will automatically be
226         * created
227         *             when the documentation is created.
228         * 
229         * @return String
230         */
231        public String getUnsubscribe()
232        {
233            return this.unsubscribe;
234        } //-- String getUnsubscribe()
235    
236        /**
237         * Method removeOtherArchive.
238         * 
239         * @param string
240         */
241        public void removeOtherArchive( String string )
242        {
243            getOtherArchives().remove( string );
244        } //-- void removeOtherArchive( String )
245    
246        /**
247         * Set the link to a URL where you can browse the mailing list
248         * archive.
249         * 
250         * @param archive
251         */
252        public void setArchive( String archive )
253        {
254            this.archive = archive;
255        } //-- void setArchive( String )
256    
257        /**
258         * 
259         * 
260         * @param key
261         * @param location
262         */
263        public void setLocation( Object key, InputLocation location )
264        {
265            if ( location != null )
266            {
267                if ( this.locations == null )
268                {
269                    this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
270                }
271                this.locations.put( key, location );
272            }
273        } //-- void setLocation( Object, InputLocation )
274    
275        /**
276         * Set the name of the mailing list.
277         * 
278         * @param name
279         */
280        public void setName( String name )
281        {
282            this.name = name;
283        } //-- void setName( String )
284    
285        /**
286         * Set the link to alternate URLs where you can browse the list
287         * archive.
288         * 
289         * @param otherArchives
290         */
291        public void setOtherArchives( java.util.List<String> otherArchives )
292        {
293            this.otherArchives = otherArchives;
294        } //-- void setOtherArchives( java.util.List )
295    
296        /**
297         * Set the email address or link that can be used to post to
298         *             the mailing list.  If this is an email address,
299         * a
300         *             <code>mailto:</code> link will automatically be
301         * created
302         *             when the documentation is created.
303         * 
304         * @param post
305         */
306        public void setPost( String post )
307        {
308            this.post = post;
309        } //-- void setPost( String )
310    
311        /**
312         * Set the email address or link that can be used to subscribe
313         * to
314         *             the mailing list.  If this is an email address,
315         * a
316         *             <code>mailto:</code> link will automatically be
317         * created
318         *             when the documentation is created.
319         * 
320         * @param subscribe
321         */
322        public void setSubscribe( String subscribe )
323        {
324            this.subscribe = subscribe;
325        } //-- void setSubscribe( String )
326    
327        /**
328         * Set the email address or link that can be used to
329         * unsubscribe to
330         *             the mailing list.  If this is an email address,
331         * a
332         *             <code>mailto:</code> link will automatically be
333         * created
334         *             when the documentation is created.
335         * 
336         * @param unsubscribe
337         */
338        public void setUnsubscribe( String unsubscribe )
339        {
340            this.unsubscribe = unsubscribe;
341        } //-- void setUnsubscribe( String )
342    
343    }