001 /*
002 =================== DO NOT EDIT THIS FILE ====================
003 Generated by Modello 1.4.1 on 2013-02-24 03:32:14,
004 any modifications will be overwritten.
005 ==============================================================
006 */
007
008 package org.apache.maven.model;
009
010 /**
011 * Description of a person who has contributed to the project, but
012 * who does not have
013 * commit privileges. Usually, these contributions come in
014 * the form of patches submitted.
015 *
016 * @version $Revision$ $Date$
017 */
018 @SuppressWarnings( "all" )
019 public class Contributor
020 implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
021 {
022
023 //--------------------------/
024 //- Class/Member Variables -/
025 //--------------------------/
026
027 /**
028 * The full name of the contributor.
029 */
030 private String name;
031
032 /**
033 * The email address of the contributor.
034 */
035 private String email;
036
037 /**
038 * The URL for the homepage of the contributor.
039 */
040 private String url;
041
042 /**
043 * The organization to which the contributor belongs.
044 */
045 private String organization;
046
047 /**
048 * The URL of the organization.
049 */
050 private String organizationUrl;
051
052 /**
053 * Field roles.
054 */
055 private java.util.List<String> roles;
056
057 /**
058 *
059 *
060 * The timezone the contributor is in. Typically,
061 * this is a number in the range
062 * <a
063 * href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a>
064 * to <a
065 * href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a>
066 * or a valid time zone id like
067 * "America/Montreal" (UTC-05:00) or "Europe/Paris"
068 * (UTC+01:00).
069 *
070 *
071 */
072 private String timezone;
073
074 /**
075 * Field properties.
076 */
077 private java.util.Properties properties;
078
079 /**
080 * Field locations.
081 */
082 private java.util.Map<Object, InputLocation> locations;
083
084
085 //-----------/
086 //- Methods -/
087 //-----------/
088
089 /**
090 * Method addProperty.
091 *
092 * @param key
093 * @param value
094 */
095 public void addProperty( String key, String value )
096 {
097 getProperties().put( key, value );
098 } //-- void addProperty( String, String )
099
100 /**
101 * Method addRole.
102 *
103 * @param string
104 */
105 public void addRole( String string )
106 {
107 getRoles().add( string );
108 } //-- void addRole( String )
109
110 /**
111 * Method clone.
112 *
113 * @return Contributor
114 */
115 public Contributor clone()
116 {
117 try
118 {
119 Contributor copy = (Contributor) super.clone();
120
121 if ( this.roles != null )
122 {
123 copy.roles = new java.util.ArrayList<String>();
124 copy.roles.addAll( this.roles );
125 }
126
127 if ( this.properties != null )
128 {
129 copy.properties = (java.util.Properties) this.properties.clone();
130 }
131
132 if ( copy.locations != null )
133 {
134 copy.locations = new java.util.LinkedHashMap( copy.locations );
135 }
136
137 return copy;
138 }
139 catch ( java.lang.Exception ex )
140 {
141 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
142 + " does not support clone()" ).initCause( ex );
143 }
144 } //-- Contributor clone()
145
146 /**
147 * Get the email address of the contributor.
148 *
149 * @return String
150 */
151 public String getEmail()
152 {
153 return this.email;
154 } //-- String getEmail()
155
156 /**
157 *
158 *
159 * @param key
160 * @return InputLocation
161 */
162 public InputLocation getLocation( Object key )
163 {
164 return ( locations != null ) ? locations.get( key ) : null;
165 } //-- InputLocation getLocation( Object )
166
167 /**
168 * Get the full name of the contributor.
169 *
170 * @return String
171 */
172 public String getName()
173 {
174 return this.name;
175 } //-- String getName()
176
177 /**
178 * Get the organization to which the contributor belongs.
179 *
180 * @return String
181 */
182 public String getOrganization()
183 {
184 return this.organization;
185 } //-- String getOrganization()
186
187 /**
188 * Get the URL of the organization.
189 *
190 * @return String
191 */
192 public String getOrganizationUrl()
193 {
194 return this.organizationUrl;
195 } //-- String getOrganizationUrl()
196
197 /**
198 * Method getProperties.
199 *
200 * @return Properties
201 */
202 public java.util.Properties getProperties()
203 {
204 if ( this.properties == null )
205 {
206 this.properties = new java.util.Properties();
207 }
208
209 return this.properties;
210 } //-- java.util.Properties getProperties()
211
212 /**
213 * Method getRoles.
214 *
215 * @return List
216 */
217 public java.util.List<String> getRoles()
218 {
219 if ( this.roles == null )
220 {
221 this.roles = new java.util.ArrayList<String>();
222 }
223
224 return this.roles;
225 } //-- java.util.List<String> getRoles()
226
227 /**
228 * Get the timezone the contributor is in. Typically, this is a
229 * number in the range
230 * <a
231 * href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a>
232 * to <a
233 * href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a>
234 * or a valid time zone id like
235 * "America/Montreal" (UTC-05:00) or "Europe/Paris"
236 * (UTC+01:00).
237 *
238 * @return String
239 */
240 public String getTimezone()
241 {
242 return this.timezone;
243 } //-- String getTimezone()
244
245 /**
246 * Get the URL for the homepage of the contributor.
247 *
248 * @return String
249 */
250 public String getUrl()
251 {
252 return this.url;
253 } //-- String getUrl()
254
255 /**
256 * Method removeRole.
257 *
258 * @param string
259 */
260 public void removeRole( String string )
261 {
262 getRoles().remove( string );
263 } //-- void removeRole( String )
264
265 /**
266 * Set the email address of the contributor.
267 *
268 * @param email
269 */
270 public void setEmail( String email )
271 {
272 this.email = email;
273 } //-- void setEmail( String )
274
275 /**
276 *
277 *
278 * @param key
279 * @param location
280 */
281 public void setLocation( Object key, InputLocation location )
282 {
283 if ( location != null )
284 {
285 if ( this.locations == null )
286 {
287 this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
288 }
289 this.locations.put( key, location );
290 }
291 } //-- void setLocation( Object, InputLocation )
292
293 /**
294 * Set the full name of the contributor.
295 *
296 * @param name
297 */
298 public void setName( String name )
299 {
300 this.name = name;
301 } //-- void setName( String )
302
303 /**
304 * Set the organization to which the contributor belongs.
305 *
306 * @param organization
307 */
308 public void setOrganization( String organization )
309 {
310 this.organization = organization;
311 } //-- void setOrganization( String )
312
313 /**
314 * Set the URL of the organization.
315 *
316 * @param organizationUrl
317 */
318 public void setOrganizationUrl( String organizationUrl )
319 {
320 this.organizationUrl = organizationUrl;
321 } //-- void setOrganizationUrl( String )
322
323 /**
324 * Set properties about the contributor, such as an instant
325 * messenger handle.
326 *
327 * @param properties
328 */
329 public void setProperties( java.util.Properties properties )
330 {
331 this.properties = properties;
332 } //-- void setProperties( java.util.Properties )
333
334 /**
335 * Set the roles the contributor plays in the project. Each
336 * role is described by a
337 * <code>role</code> element, the body of which is
338 * a role name. This can also be used to
339 * describe the contribution.
340 *
341 * @param roles
342 */
343 public void setRoles( java.util.List<String> roles )
344 {
345 this.roles = roles;
346 } //-- void setRoles( java.util.List )
347
348 /**
349 * Set the timezone the contributor is in. Typically, this is a
350 * number in the range
351 * <a
352 * href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a>
353 * to <a
354 * href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a>
355 * or a valid time zone id like
356 * "America/Montreal" (UTC-05:00) or "Europe/Paris"
357 * (UTC+01:00).
358 *
359 * @param timezone
360 */
361 public void setTimezone( String timezone )
362 {
363 this.timezone = timezone;
364 } //-- void setTimezone( String )
365
366 /**
367 * Set the URL for the homepage of the contributor.
368 *
369 * @param url
370 */
371 public void setUrl( String url )
372 {
373 this.url = url;
374 } //-- void setUrl( String )
375
376 }