001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2013-02-24 03:31:02, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.model; 009 010 /** 011 * 012 * 013 * Base class for the <code>Model</code> and the 014 * <code>Profile</code> objects. 015 * 016 * 017 * 018 * @version $Revision$ $Date$ 019 */ 020 @SuppressWarnings( "all" ) 021 public class ModelBase 022 implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker 023 { 024 025 //--------------------------/ 026 //- Class/Member Variables -/ 027 //--------------------------/ 028 029 /** 030 * Field modules. 031 */ 032 private java.util.List<String> modules; 033 034 /** 035 * Distribution information for a project that enables 036 * deployment of the site 037 * and artifacts to remote web servers and 038 * repositories respectively. 039 */ 040 private DistributionManagement distributionManagement; 041 042 /** 043 * Field properties. 044 */ 045 private java.util.Properties properties; 046 047 /** 048 * Default dependency information for projects that inherit 049 * from this one. The 050 * dependencies in this section are not immediately 051 * resolved. Instead, when a POM derived 052 * from this one declares a dependency described by 053 * a matching groupId and artifactId, the 054 * version and other values from this section are 055 * used for that dependency if they were not 056 * already specified. 057 */ 058 private DependencyManagement dependencyManagement; 059 060 /** 061 * Field dependencies. 062 */ 063 private java.util.List<Dependency> dependencies; 064 065 /** 066 * Field repositories. 067 */ 068 private java.util.List<Repository> repositories; 069 070 /** 071 * Field pluginRepositories. 072 */ 073 private java.util.List<Repository> pluginRepositories; 074 075 /** 076 * 077 * 078 * <b>Deprecated</b>. Now ignored by Maven. 079 * 080 * 081 */ 082 private Object reports; 083 084 /** 085 * 086 * 087 * This element includes the specification of 088 * report plugins to use 089 * to generate the reports on the Maven-generated 090 * site. 091 * These reports will be run when a user executes 092 * <code>mvn site</code>. 093 * All of the reports will be included in the 094 * navigation bar for browsing. 095 * 096 * 097 */ 098 private Reporting reporting; 099 100 /** 101 * Field locations. 102 */ 103 private java.util.Map<Object, InputLocation> locations; 104 105 106 //-----------/ 107 //- Methods -/ 108 //-----------/ 109 110 /** 111 * Method addDependency. 112 * 113 * @param dependency 114 */ 115 public void addDependency( Dependency dependency ) 116 { 117 getDependencies().add( dependency ); 118 } //-- void addDependency( Dependency ) 119 120 /** 121 * Method addModule. 122 * 123 * @param string 124 */ 125 public void addModule( String string ) 126 { 127 getModules().add( string ); 128 } //-- void addModule( String ) 129 130 /** 131 * Method addPluginRepository. 132 * 133 * @param repository 134 */ 135 public void addPluginRepository( Repository repository ) 136 { 137 getPluginRepositories().add( repository ); 138 } //-- void addPluginRepository( Repository ) 139 140 /** 141 * Method addProperty. 142 * 143 * @param key 144 * @param value 145 */ 146 public void addProperty( String key, String value ) 147 { 148 getProperties().put( key, value ); 149 } //-- void addProperty( String, String ) 150 151 /** 152 * Method addRepository. 153 * 154 * @param repository 155 */ 156 public void addRepository( Repository repository ) 157 { 158 getRepositories().add( repository ); 159 } //-- void addRepository( Repository ) 160 161 /** 162 * Method clone. 163 * 164 * @return ModelBase 165 */ 166 public ModelBase clone() 167 { 168 try 169 { 170 ModelBase copy = (ModelBase) super.clone(); 171 172 if ( this.modules != null ) 173 { 174 copy.modules = new java.util.ArrayList<String>(); 175 copy.modules.addAll( this.modules ); 176 } 177 178 if ( this.distributionManagement != null ) 179 { 180 copy.distributionManagement = (DistributionManagement) this.distributionManagement.clone(); 181 } 182 183 if ( this.properties != null ) 184 { 185 copy.properties = (java.util.Properties) this.properties.clone(); 186 } 187 188 if ( this.dependencyManagement != null ) 189 { 190 copy.dependencyManagement = (DependencyManagement) this.dependencyManagement.clone(); 191 } 192 193 if ( this.dependencies != null ) 194 { 195 copy.dependencies = new java.util.ArrayList<Dependency>(); 196 for ( Dependency item : this.dependencies ) 197 { 198 copy.dependencies.add( ( (Dependency) item).clone() ); 199 } 200 } 201 202 if ( this.repositories != null ) 203 { 204 copy.repositories = new java.util.ArrayList<Repository>(); 205 for ( Repository item : this.repositories ) 206 { 207 copy.repositories.add( ( (Repository) item).clone() ); 208 } 209 } 210 211 if ( this.pluginRepositories != null ) 212 { 213 copy.pluginRepositories = new java.util.ArrayList<Repository>(); 214 for ( Repository item : this.pluginRepositories ) 215 { 216 copy.pluginRepositories.add( ( (Repository) item).clone() ); 217 } 218 } 219 220 if ( this.reports != null ) 221 { 222 copy.reports = new org.codehaus.plexus.util.xml.Xpp3Dom( (org.codehaus.plexus.util.xml.Xpp3Dom) this.reports ); 223 } 224 225 if ( this.reporting != null ) 226 { 227 copy.reporting = (Reporting) this.reporting.clone(); 228 } 229 230 if ( copy.locations != null ) 231 { 232 copy.locations = new java.util.LinkedHashMap( copy.locations ); 233 } 234 235 return copy; 236 } 237 catch ( java.lang.Exception ex ) 238 { 239 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName() 240 + " does not support clone()" ).initCause( ex ); 241 } 242 } //-- ModelBase clone() 243 244 /** 245 * Method getDependencies. 246 * 247 * @return List 248 */ 249 public java.util.List<Dependency> getDependencies() 250 { 251 if ( this.dependencies == null ) 252 { 253 this.dependencies = new java.util.ArrayList<Dependency>(); 254 } 255 256 return this.dependencies; 257 } //-- java.util.List<Dependency> getDependencies() 258 259 /** 260 * Get default dependency information for projects that inherit 261 * from this one. The 262 * dependencies in this section are not immediately 263 * resolved. Instead, when a POM derived 264 * from this one declares a dependency described by 265 * a matching groupId and artifactId, the 266 * version and other values from this section are 267 * used for that dependency if they were not 268 * already specified. 269 * 270 * @return DependencyManagement 271 */ 272 public DependencyManagement getDependencyManagement() 273 { 274 return this.dependencyManagement; 275 } //-- DependencyManagement getDependencyManagement() 276 277 /** 278 * Get distribution information for a project that enables 279 * deployment of the site 280 * and artifacts to remote web servers and 281 * repositories respectively. 282 * 283 * @return DistributionManagement 284 */ 285 public DistributionManagement getDistributionManagement() 286 { 287 return this.distributionManagement; 288 } //-- DistributionManagement getDistributionManagement() 289 290 /** 291 * 292 * 293 * @param key 294 * @return InputLocation 295 */ 296 public InputLocation getLocation( Object key ) 297 { 298 return ( locations != null ) ? locations.get( key ) : null; 299 } //-- InputLocation getLocation( Object ) 300 301 /** 302 * Method getModules. 303 * 304 * @return List 305 */ 306 public java.util.List<String> getModules() 307 { 308 if ( this.modules == null ) 309 { 310 this.modules = new java.util.ArrayList<String>(); 311 } 312 313 return this.modules; 314 } //-- java.util.List<String> getModules() 315 316 /** 317 * Method getPluginRepositories. 318 * 319 * @return List 320 */ 321 public java.util.List<Repository> getPluginRepositories() 322 { 323 if ( this.pluginRepositories == null ) 324 { 325 this.pluginRepositories = new java.util.ArrayList<Repository>(); 326 } 327 328 return this.pluginRepositories; 329 } //-- java.util.List<Repository> getPluginRepositories() 330 331 /** 332 * Method getProperties. 333 * 334 * @return Properties 335 */ 336 public java.util.Properties getProperties() 337 { 338 if ( this.properties == null ) 339 { 340 this.properties = new java.util.Properties(); 341 } 342 343 return this.properties; 344 } //-- java.util.Properties getProperties() 345 346 /** 347 * Get this element includes the specification of report 348 * plugins to use 349 * to generate the reports on the Maven-generated 350 * site. 351 * These reports will be run when a user executes 352 * <code>mvn site</code>. 353 * All of the reports will be included in the 354 * navigation bar for browsing. 355 * 356 * @return Reporting 357 */ 358 public Reporting getReporting() 359 { 360 return this.reporting; 361 } //-- Reporting getReporting() 362 363 /** 364 * Get <b>Deprecated</b>. Now ignored by Maven. 365 * 366 * @return Object 367 */ 368 public Object getReports() 369 { 370 return this.reports; 371 } //-- Object getReports() 372 373 /** 374 * Method getRepositories. 375 * 376 * @return List 377 */ 378 public java.util.List<Repository> getRepositories() 379 { 380 if ( this.repositories == null ) 381 { 382 this.repositories = new java.util.ArrayList<Repository>(); 383 } 384 385 return this.repositories; 386 } //-- java.util.List<Repository> getRepositories() 387 388 /** 389 * Method removeDependency. 390 * 391 * @param dependency 392 */ 393 public void removeDependency( Dependency dependency ) 394 { 395 getDependencies().remove( dependency ); 396 } //-- void removeDependency( Dependency ) 397 398 /** 399 * Method removeModule. 400 * 401 * @param string 402 */ 403 public void removeModule( String string ) 404 { 405 getModules().remove( string ); 406 } //-- void removeModule( String ) 407 408 /** 409 * Method removePluginRepository. 410 * 411 * @param repository 412 */ 413 public void removePluginRepository( Repository repository ) 414 { 415 getPluginRepositories().remove( repository ); 416 } //-- void removePluginRepository( Repository ) 417 418 /** 419 * Method removeRepository. 420 * 421 * @param repository 422 */ 423 public void removeRepository( Repository repository ) 424 { 425 getRepositories().remove( repository ); 426 } //-- void removeRepository( Repository ) 427 428 /** 429 * Set this element describes all of the dependencies 430 * associated with a 431 * project. 432 * These dependencies are used to construct a 433 * classpath for your 434 * project during the build process. They are 435 * automatically downloaded from the 436 * repositories defined in this project. 437 * See <a 438 * href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the 439 * dependency mechanism</a> for more information. 440 * 441 * @param dependencies 442 */ 443 public void setDependencies( java.util.List<Dependency> dependencies ) 444 { 445 this.dependencies = dependencies; 446 } //-- void setDependencies( java.util.List ) 447 448 /** 449 * Set default dependency information for projects that inherit 450 * from this one. The 451 * dependencies in this section are not immediately 452 * resolved. Instead, when a POM derived 453 * from this one declares a dependency described by 454 * a matching groupId and artifactId, the 455 * version and other values from this section are 456 * used for that dependency if they were not 457 * already specified. 458 * 459 * @param dependencyManagement 460 */ 461 public void setDependencyManagement( DependencyManagement dependencyManagement ) 462 { 463 this.dependencyManagement = dependencyManagement; 464 } //-- void setDependencyManagement( DependencyManagement ) 465 466 /** 467 * Set distribution information for a project that enables 468 * deployment of the site 469 * and artifacts to remote web servers and 470 * repositories respectively. 471 * 472 * @param distributionManagement 473 */ 474 public void setDistributionManagement( DistributionManagement distributionManagement ) 475 { 476 this.distributionManagement = distributionManagement; 477 } //-- void setDistributionManagement( DistributionManagement ) 478 479 /** 480 * 481 * 482 * @param key 483 * @param location 484 */ 485 public void setLocation( Object key, InputLocation location ) 486 { 487 if ( location != null ) 488 { 489 if ( this.locations == null ) 490 { 491 this.locations = new java.util.LinkedHashMap<Object, InputLocation>(); 492 } 493 this.locations.put( key, location ); 494 } 495 } //-- void setLocation( Object, InputLocation ) 496 497 /** 498 * Set the modules (sometimes called subprojects) to build as a 499 * part of this 500 * project. Each module listed is a relative path 501 * to the directory containing the module. 502 * 503 * @param modules 504 */ 505 public void setModules( java.util.List<String> modules ) 506 { 507 this.modules = modules; 508 } //-- void setModules( java.util.List ) 509 510 /** 511 * Set the lists of the remote repositories for discovering 512 * plugins for builds and 513 * reports. 514 * 515 * @param pluginRepositories 516 */ 517 public void setPluginRepositories( java.util.List<Repository> pluginRepositories ) 518 { 519 this.pluginRepositories = pluginRepositories; 520 } //-- void setPluginRepositories( java.util.List ) 521 522 /** 523 * Set properties that can be used throughout the POM as a 524 * substitution, and 525 * are used as filters in resources if enabled. 526 * The format is 527 * <code><name>value</name></code>. 528 * 529 * @param properties 530 */ 531 public void setProperties( java.util.Properties properties ) 532 { 533 this.properties = properties; 534 } //-- void setProperties( java.util.Properties ) 535 536 /** 537 * Set this element includes the specification of report 538 * plugins to use 539 * to generate the reports on the Maven-generated 540 * site. 541 * These reports will be run when a user executes 542 * <code>mvn site</code>. 543 * All of the reports will be included in the 544 * navigation bar for browsing. 545 * 546 * @param reporting 547 */ 548 public void setReporting( Reporting reporting ) 549 { 550 this.reporting = reporting; 551 } //-- void setReporting( Reporting ) 552 553 /** 554 * Set <b>Deprecated</b>. Now ignored by Maven. 555 * 556 * @param reports 557 */ 558 public void setReports( Object reports ) 559 { 560 this.reports = reports; 561 } //-- void setReports( Object ) 562 563 /** 564 * Set the lists of the remote repositories for discovering 565 * dependencies and 566 * extensions. 567 * 568 * @param repositories 569 */ 570 public void setRepositories( java.util.List<Repository> repositories ) 571 { 572 this.repositories = repositories; 573 } //-- void setRepositories( java.util.List ) 574 575 }