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