001// =================== DO NOT EDIT THIS FILE ==================== 002// Generated by Modello 1.8.3, 003// any modifications will be overwritten. 004// ============================================================== 005 006package 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" ) 017public 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}