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