Coverage Report - org.apache.maven.model.Model
 
Classes in this File Line Coverage Branch Coverage Complexity
Model
0%
0/128
0%
0/50
1.455
 
 1  
 /*
 2  
  * $Id$
 3  
  */
 4  
 
 5  
 package org.apache.maven.model;
 6  
 
 7  
   //---------------------------------/
 8  
  //- Imported classes and packages -/
 9  
 //---------------------------------/
 10  
 
 11  
 import java.util.Date;
 12  
 
 13  
 /**
 14  
  * 
 15  
  *         
 16  
  *         The <code>&lt;project&gt;</code> element is the root of
 17  
  * the descriptor.
 18  
  *         The following table lists all of the possible child
 19  
  * elements.
 20  
  *         
 21  
  *       
 22  
  * 
 23  
  * @version $Revision$ $Date$
 24  
  */
 25  0
 public class Model extends ModelBase 
 26  
 implements java.io.Serializable
 27  
 {
 28  
 
 29  
 
 30  
       //--------------------------/
 31  
      //- Class/Member Variables -/
 32  
     //--------------------------/
 33  
 
 34  
     /**
 35  
      * Declares to which version of project descriptor this POM
 36  
      * conforms.
 37  
      */
 38  
     private String modelVersion;
 39  
 
 40  
     /**
 41  
      * The location of the parent project, if one exists. Values
 42  
      * from the parent
 43  
      *             project will be the default for this project if
 44  
      * they are left unspecified. The location
 45  
      *             is given as a group ID, artifact ID and version.
 46  
      */
 47  
     private Parent parent;
 48  
 
 49  
     /**
 50  
      * 
 51  
      *             
 52  
      *             A universally unique identifier for a project.
 53  
      * It is normal to
 54  
      *             use a fully-qualified package name to
 55  
      * distinguish it from other
 56  
      *             projects with a similar name (eg.
 57  
      * <code>org.apache.maven</code>).
 58  
      *             
 59  
      *           
 60  
      */
 61  
     private String groupId;
 62  
 
 63  
     /**
 64  
      * The identifier for this artifact that is unique within the
 65  
      * group given by the
 66  
      *             group ID. An artifact is something that is
 67  
      * either produced or used by a project.
 68  
      *             Examples of artifacts produced by Maven for a
 69  
      * project include: JARs, source and binary
 70  
      *             distributions, and WARs.
 71  
      */
 72  
     private String artifactId;
 73  
 
 74  
     /**
 75  
      * The current version of the artifact produced by this project.
 76  
      */
 77  
     private String version;
 78  
 
 79  
     /**
 80  
      * 
 81  
      *             
 82  
      *             The type of artifact this project produces, for
 83  
      * example <code>jar</code>
 84  
      *               <code>war</code>
 85  
      *               <code>ear</code>
 86  
      *               <code>pom</code>.
 87  
      *             Plugins can create their own packaging, and
 88  
      *             therefore their own packaging types,
 89  
      *             so this list does not contain all possible
 90  
      * types.
 91  
      *             
 92  
      *           
 93  
      */
 94  0
     private String packaging = "jar";
 95  
 
 96  
     /**
 97  
      * The full name of the project.
 98  
      */
 99  
     private String name;
 100  
 
 101  
     /**
 102  
      * A detailed description of the project, used by Maven
 103  
      * whenever it needs to
 104  
      *             describe the project, such as on the web site.
 105  
      * While this element can be specified as
 106  
      *             CDATA to enable the use of HTML tags within the
 107  
      * description, it is discouraged to allow
 108  
      *             plain text representation. If you need to modify
 109  
      * the index page of the generated web
 110  
      *             site, you are able to specify your own instead
 111  
      * of adjusting this text.
 112  
      */
 113  
     private String description;
 114  
 
 115  
     /**
 116  
      * 
 117  
      *             
 118  
      *             The URL to the project's homepage.
 119  
      *             
 120  
      *           
 121  
      */
 122  
     private String url;
 123  
 
 124  
     /**
 125  
      * The year of the project's inception, specified with 4
 126  
      * digits. This value is
 127  
      *             used when generating copyright notices as well
 128  
      * as being informational.
 129  
      */
 130  
     private String inceptionYear;
 131  
 
 132  
     /**
 133  
      * This element describes various attributes of the
 134  
      * organization to which the
 135  
      *             project belongs. These attributes are utilized
 136  
      * when documentation is created (for
 137  
      *             copyright notices and links).
 138  
      */
 139  
     private Organization organization;
 140  
 
 141  
     /**
 142  
      * Field licenses.
 143  
      */
 144  
     private java.util.List licenses;
 145  
 
 146  
     /**
 147  
      * Field mailingLists.
 148  
      */
 149  
     private java.util.List mailingLists;
 150  
 
 151  
     /**
 152  
      * Field developers.
 153  
      */
 154  
     private java.util.List developers;
 155  
 
 156  
     /**
 157  
      * Field contributors.
 158  
      */
 159  
     private java.util.List contributors;
 160  
 
 161  
     /**
 162  
      * The project's issue management system information.
 163  
      */
 164  
     private IssueManagement issueManagement;
 165  
 
 166  
     /**
 167  
      * Specification for the SCM used by the project, such as CVS,
 168  
      * Subversion, etc.
 169  
      */
 170  
     private Scm scm;
 171  
 
 172  
     /**
 173  
      * The project's continuous integration information.
 174  
      */
 175  
     private CiManagement ciManagement;
 176  
 
 177  
     /**
 178  
      * Describes the prerequisites in the build environment for
 179  
      * this project.
 180  
      */
 181  
     private Prerequisites prerequisites;
 182  
 
 183  
     /**
 184  
      * Information required to build the project.
 185  
      */
 186  
     private Build build;
 187  
 
 188  
     /**
 189  
      * Field profiles.
 190  
      */
 191  
     private java.util.List profiles;
 192  
 
 193  
 
 194  
       //-----------/
 195  
      //- Methods -/
 196  
     //-----------/
 197  
 
 198  
     /**
 199  
      * Method addContributor.
 200  
      * 
 201  
      * @param contributor
 202  
      */
 203  
     public void addContributor( Contributor contributor )
 204  
     {
 205  0
         if ( !(contributor instanceof Contributor) )
 206  
         {
 207  0
             throw new ClassCastException( "Model.addContributors(contributor) parameter must be instanceof " + Contributor.class.getName() );
 208  
         }
 209  0
         getContributors().add( contributor );
 210  0
     } //-- void addContributor( Contributor ) 
 211  
 
 212  
     /**
 213  
      * Method addDeveloper.
 214  
      * 
 215  
      * @param developer
 216  
      */
 217  
     public void addDeveloper( Developer developer )
 218  
     {
 219  0
         if ( !(developer instanceof Developer) )
 220  
         {
 221  0
             throw new ClassCastException( "Model.addDevelopers(developer) parameter must be instanceof " + Developer.class.getName() );
 222  
         }
 223  0
         getDevelopers().add( developer );
 224  0
     } //-- void addDeveloper( Developer ) 
 225  
 
 226  
     /**
 227  
      * Method addLicense.
 228  
      * 
 229  
      * @param license
 230  
      */
 231  
     public void addLicense( License license )
 232  
     {
 233  0
         if ( !(license instanceof License) )
 234  
         {
 235  0
             throw new ClassCastException( "Model.addLicenses(license) parameter must be instanceof " + License.class.getName() );
 236  
         }
 237  0
         getLicenses().add( license );
 238  0
     } //-- void addLicense( License ) 
 239  
 
 240  
     /**
 241  
      * Method addMailingList.
 242  
      * 
 243  
      * @param mailingList
 244  
      */
 245  
     public void addMailingList( MailingList mailingList )
 246  
     {
 247  0
         if ( !(mailingList instanceof MailingList) )
 248  
         {
 249  0
             throw new ClassCastException( "Model.addMailingLists(mailingList) parameter must be instanceof " + MailingList.class.getName() );
 250  
         }
 251  0
         getMailingLists().add( mailingList );
 252  0
     } //-- void addMailingList( MailingList ) 
 253  
 
 254  
     /**
 255  
      * Method addProfile.
 256  
      * 
 257  
      * @param profile
 258  
      */
 259  
     public void addProfile( Profile profile )
 260  
     {
 261  0
         if ( !(profile instanceof Profile) )
 262  
         {
 263  0
             throw new ClassCastException( "Model.addProfiles(profile) parameter must be instanceof " + Profile.class.getName() );
 264  
         }
 265  0
         getProfiles().add( profile );
 266  0
     } //-- void addProfile( Profile ) 
 267  
 
 268  
     /**
 269  
      * Get the identifier for this artifact that is unique within
 270  
      * the group given by the
 271  
      *             group ID. An artifact is something that is
 272  
      * either produced or used by a project.
 273  
      *             Examples of artifacts produced by Maven for a
 274  
      * project include: JARs, source and binary
 275  
      *             distributions, and WARs.
 276  
      * 
 277  
      * @return String
 278  
      */
 279  
     public String getArtifactId()
 280  
     {
 281  0
         return this.artifactId;
 282  
     } //-- String getArtifactId() 
 283  
 
 284  
     /**
 285  
      * Get information required to build the project.
 286  
      * 
 287  
      * @return Build
 288  
      */
 289  
     public Build getBuild()
 290  
     {
 291  0
         return this.build;
 292  
     } //-- Build getBuild() 
 293  
 
 294  
     /**
 295  
      * Get the project's continuous integration information.
 296  
      * 
 297  
      * @return CiManagement
 298  
      */
 299  
     public CiManagement getCiManagement()
 300  
     {
 301  0
         return this.ciManagement;
 302  
     } //-- CiManagement getCiManagement() 
 303  
 
 304  
     /**
 305  
      * Method getContributors.
 306  
      * 
 307  
      * @return java.util.List
 308  
      */
 309  
     public java.util.List getContributors()
 310  
     {
 311  0
         if ( this.contributors == null )
 312  
         {
 313  0
             this.contributors = new java.util.ArrayList();
 314  
         }
 315  
     
 316  0
         return this.contributors;
 317  
     } //-- java.util.List getContributors() 
 318  
 
 319  
     /**
 320  
      * Get a detailed description of the project, used by Maven
 321  
      * whenever it needs to
 322  
      *             describe the project, such as on the web site.
 323  
      * While this element can be specified as
 324  
      *             CDATA to enable the use of HTML tags within the
 325  
      * description, it is discouraged to allow
 326  
      *             plain text representation. If you need to modify
 327  
      * the index page of the generated web
 328  
      *             site, you are able to specify your own instead
 329  
      * of adjusting this text.
 330  
      * 
 331  
      * @return String
 332  
      */
 333  
     public String getDescription()
 334  
     {
 335  0
         return this.description;
 336  
     } //-- String getDescription() 
 337  
 
 338  
     /**
 339  
      * Method getDevelopers.
 340  
      * 
 341  
      * @return java.util.List
 342  
      */
 343  
     public java.util.List getDevelopers()
 344  
     {
 345  0
         if ( this.developers == null )
 346  
         {
 347  0
             this.developers = new java.util.ArrayList();
 348  
         }
 349  
     
 350  0
         return this.developers;
 351  
     } //-- java.util.List getDevelopers() 
 352  
 
 353  
     /**
 354  
      * Get 
 355  
      *             
 356  
      *             A universally unique identifier for a project.
 357  
      * It is normal to
 358  
      *             use a fully-qualified package name to
 359  
      * distinguish it from other
 360  
      *             projects with a similar name (eg.
 361  
      * <code>org.apache.maven</code>).
 362  
      *             
 363  
      *           
 364  
      * 
 365  
      * @return String
 366  
      */
 367  
     public String getGroupId()
 368  
     {
 369  0
         return this.groupId;
 370  
     } //-- String getGroupId() 
 371  
 
 372  
     /**
 373  
      * Get the year of the project's inception, specified with 4
 374  
      * digits. This value is
 375  
      *             used when generating copyright notices as well
 376  
      * as being informational.
 377  
      * 
 378  
      * @return String
 379  
      */
 380  
     public String getInceptionYear()
 381  
     {
 382  0
         return this.inceptionYear;
 383  
     } //-- String getInceptionYear() 
 384  
 
 385  
     /**
 386  
      * Get the project's issue management system information.
 387  
      * 
 388  
      * @return IssueManagement
 389  
      */
 390  
     public IssueManagement getIssueManagement()
 391  
     {
 392  0
         return this.issueManagement;
 393  
     } //-- IssueManagement getIssueManagement() 
 394  
 
 395  
     /**
 396  
      * Method getLicenses.
 397  
      * 
 398  
      * @return java.util.List
 399  
      */
 400  
     public java.util.List getLicenses()
 401  
     {
 402  0
         if ( this.licenses == null )
 403  
         {
 404  0
             this.licenses = new java.util.ArrayList();
 405  
         }
 406  
     
 407  0
         return this.licenses;
 408  
     } //-- java.util.List getLicenses() 
 409  
 
 410  
     /**
 411  
      * Method getMailingLists.
 412  
      * 
 413  
      * @return java.util.List
 414  
      */
 415  
     public java.util.List getMailingLists()
 416  
     {
 417  0
         if ( this.mailingLists == null )
 418  
         {
 419  0
             this.mailingLists = new java.util.ArrayList();
 420  
         }
 421  
     
 422  0
         return this.mailingLists;
 423  
     } //-- java.util.List getMailingLists() 
 424  
 
 425  
     /**
 426  
      * Get declares to which version of project descriptor this POM
 427  
      * conforms.
 428  
      * 
 429  
      * @return String
 430  
      */
 431  
     public String getModelVersion()
 432  
     {
 433  0
         return this.modelVersion;
 434  
     } //-- String getModelVersion() 
 435  
 
 436  
     /**
 437  
      * Get the full name of the project.
 438  
      * 
 439  
      * @return String
 440  
      */
 441  
     public String getName()
 442  
     {
 443  0
         return this.name;
 444  
     } //-- String getName() 
 445  
 
 446  
     /**
 447  
      * Get this element describes various attributes of the
 448  
      * organization to which the
 449  
      *             project belongs. These attributes are utilized
 450  
      * when documentation is created (for
 451  
      *             copyright notices and links).
 452  
      * 
 453  
      * @return Organization
 454  
      */
 455  
     public Organization getOrganization()
 456  
     {
 457  0
         return this.organization;
 458  
     } //-- Organization getOrganization() 
 459  
 
 460  
     /**
 461  
      * Get 
 462  
      *             
 463  
      *             The type of artifact this project produces, for
 464  
      * example <code>jar</code>
 465  
      *               <code>war</code>
 466  
      *               <code>ear</code>
 467  
      *               <code>pom</code>.
 468  
      *             Plugins can create their own packaging, and
 469  
      *             therefore their own packaging types,
 470  
      *             so this list does not contain all possible
 471  
      * types.
 472  
      *             
 473  
      *           
 474  
      * 
 475  
      * @return String
 476  
      */
 477  
     public String getPackaging()
 478  
     {
 479  0
         return this.packaging;
 480  
     } //-- String getPackaging() 
 481  
 
 482  
     /**
 483  
      * Get the location of the parent project, if one exists.
 484  
      * Values from the parent
 485  
      *             project will be the default for this project if
 486  
      * they are left unspecified. The location
 487  
      *             is given as a group ID, artifact ID and version.
 488  
      * 
 489  
      * @return Parent
 490  
      */
 491  
     public Parent getParent()
 492  
     {
 493  0
         return this.parent;
 494  
     } //-- Parent getParent() 
 495  
 
 496  
     /**
 497  
      * Get describes the prerequisites in the build environment for
 498  
      * this project.
 499  
      * 
 500  
      * @return Prerequisites
 501  
      */
 502  
     public Prerequisites getPrerequisites()
 503  
     {
 504  0
         return this.prerequisites;
 505  
     } //-- Prerequisites getPrerequisites() 
 506  
 
 507  
     /**
 508  
      * Method getProfiles.
 509  
      * 
 510  
      * @return java.util.List
 511  
      */
 512  
     public java.util.List getProfiles()
 513  
     {
 514  0
         if ( this.profiles == null )
 515  
         {
 516  0
             this.profiles = new java.util.ArrayList();
 517  
         }
 518  
     
 519  0
         return this.profiles;
 520  
     } //-- java.util.List getProfiles() 
 521  
 
 522  
     /**
 523  
      * Get specification for the SCM used by the project, such as
 524  
      * CVS, Subversion, etc.
 525  
      * 
 526  
      * @return Scm
 527  
      */
 528  
     public Scm getScm()
 529  
     {
 530  0
         return this.scm;
 531  
     } //-- Scm getScm() 
 532  
 
 533  
     /**
 534  
      * Get 
 535  
      *             
 536  
      *             The URL to the project's homepage.
 537  
      *             
 538  
      *           
 539  
      * 
 540  
      * @return String
 541  
      */
 542  
     public String getUrl()
 543  
     {
 544  0
         return this.url;
 545  
     } //-- String getUrl() 
 546  
 
 547  
     /**
 548  
      * Get the current version of the artifact produced by this
 549  
      * project.
 550  
      * 
 551  
      * @return String
 552  
      */
 553  
     public String getVersion()
 554  
     {
 555  0
         return this.version;
 556  
     } //-- String getVersion() 
 557  
 
 558  
     /**
 559  
      * Method removeContributor.
 560  
      * 
 561  
      * @param contributor
 562  
      */
 563  
     public void removeContributor( Contributor contributor )
 564  
     {
 565  0
         if ( !(contributor instanceof Contributor) )
 566  
         {
 567  0
             throw new ClassCastException( "Model.removeContributors(contributor) parameter must be instanceof " + Contributor.class.getName() );
 568  
         }
 569  0
         getContributors().remove( contributor );
 570  0
     } //-- void removeContributor( Contributor ) 
 571  
 
 572  
     /**
 573  
      * Method removeDeveloper.
 574  
      * 
 575  
      * @param developer
 576  
      */
 577  
     public void removeDeveloper( Developer developer )
 578  
     {
 579  0
         if ( !(developer instanceof Developer) )
 580  
         {
 581  0
             throw new ClassCastException( "Model.removeDevelopers(developer) parameter must be instanceof " + Developer.class.getName() );
 582  
         }
 583  0
         getDevelopers().remove( developer );
 584  0
     } //-- void removeDeveloper( Developer ) 
 585  
 
 586  
     /**
 587  
      * Method removeLicense.
 588  
      * 
 589  
      * @param license
 590  
      */
 591  
     public void removeLicense( License license )
 592  
     {
 593  0
         if ( !(license instanceof License) )
 594  
         {
 595  0
             throw new ClassCastException( "Model.removeLicenses(license) parameter must be instanceof " + License.class.getName() );
 596  
         }
 597  0
         getLicenses().remove( license );
 598  0
     } //-- void removeLicense( License ) 
 599  
 
 600  
     /**
 601  
      * Method removeMailingList.
 602  
      * 
 603  
      * @param mailingList
 604  
      */
 605  
     public void removeMailingList( MailingList mailingList )
 606  
     {
 607  0
         if ( !(mailingList instanceof MailingList) )
 608  
         {
 609  0
             throw new ClassCastException( "Model.removeMailingLists(mailingList) parameter must be instanceof " + MailingList.class.getName() );
 610  
         }
 611  0
         getMailingLists().remove( mailingList );
 612  0
     } //-- void removeMailingList( MailingList ) 
 613  
 
 614  
     /**
 615  
      * Method removeProfile.
 616  
      * 
 617  
      * @param profile
 618  
      */
 619  
     public void removeProfile( Profile profile )
 620  
     {
 621  0
         if ( !(profile instanceof Profile) )
 622  
         {
 623  0
             throw new ClassCastException( "Model.removeProfiles(profile) parameter must be instanceof " + Profile.class.getName() );
 624  
         }
 625  0
         getProfiles().remove( profile );
 626  0
     } //-- void removeProfile( Profile ) 
 627  
 
 628  
     /**
 629  
      * Set the identifier for this artifact that is unique within
 630  
      * the group given by the
 631  
      *             group ID. An artifact is something that is
 632  
      * either produced or used by a project.
 633  
      *             Examples of artifacts produced by Maven for a
 634  
      * project include: JARs, source and binary
 635  
      *             distributions, and WARs.
 636  
      * 
 637  
      * @param artifactId
 638  
      */
 639  
     public void setArtifactId( String artifactId )
 640  
     {
 641  0
         this.artifactId = artifactId;
 642  0
     } //-- void setArtifactId( String ) 
 643  
 
 644  
     /**
 645  
      * Set information required to build the project.
 646  
      * 
 647  
      * @param build
 648  
      */
 649  
     public void setBuild( Build build )
 650  
     {
 651  0
         this.build = build;
 652  0
     } //-- void setBuild( Build ) 
 653  
 
 654  
     /**
 655  
      * Set the project's continuous integration information.
 656  
      * 
 657  
      * @param ciManagement
 658  
      */
 659  
     public void setCiManagement( CiManagement ciManagement )
 660  
     {
 661  0
         this.ciManagement = ciManagement;
 662  0
     } //-- void setCiManagement( CiManagement ) 
 663  
 
 664  
     /**
 665  
      * Set describes the contributors to a project that are not yet
 666  
      * committers.
 667  
      * 
 668  
      * @param contributors
 669  
      */
 670  
     public void setContributors( java.util.List contributors )
 671  
     {
 672  0
         this.contributors = contributors;
 673  0
     } //-- void setContributors( java.util.List ) 
 674  
 
 675  
     /**
 676  
      * Set a detailed description of the project, used by Maven
 677  
      * whenever it needs to
 678  
      *             describe the project, such as on the web site.
 679  
      * While this element can be specified as
 680  
      *             CDATA to enable the use of HTML tags within the
 681  
      * description, it is discouraged to allow
 682  
      *             plain text representation. If you need to modify
 683  
      * the index page of the generated web
 684  
      *             site, you are able to specify your own instead
 685  
      * of adjusting this text.
 686  
      * 
 687  
      * @param description
 688  
      */
 689  
     public void setDescription( String description )
 690  
     {
 691  0
         this.description = description;
 692  0
     } //-- void setDescription( String ) 
 693  
 
 694  
     /**
 695  
      * Set describes the committers of a project.
 696  
      * 
 697  
      * @param developers
 698  
      */
 699  
     public void setDevelopers( java.util.List developers )
 700  
     {
 701  0
         this.developers = developers;
 702  0
     } //-- void setDevelopers( java.util.List ) 
 703  
 
 704  
     /**
 705  
      * Set 
 706  
      *             
 707  
      *             A universally unique identifier for a project.
 708  
      * It is normal to
 709  
      *             use a fully-qualified package name to
 710  
      * distinguish it from other
 711  
      *             projects with a similar name (eg.
 712  
      * <code>org.apache.maven</code>).
 713  
      *             
 714  
      *           
 715  
      * 
 716  
      * @param groupId
 717  
      */
 718  
     public void setGroupId( String groupId )
 719  
     {
 720  0
         this.groupId = groupId;
 721  0
     } //-- void setGroupId( String ) 
 722  
 
 723  
     /**
 724  
      * Set the year of the project's inception, specified with 4
 725  
      * digits. This value is
 726  
      *             used when generating copyright notices as well
 727  
      * as being informational.
 728  
      * 
 729  
      * @param inceptionYear
 730  
      */
 731  
     public void setInceptionYear( String inceptionYear )
 732  
     {
 733  0
         this.inceptionYear = inceptionYear;
 734  0
     } //-- void setInceptionYear( String ) 
 735  
 
 736  
     /**
 737  
      * Set the project's issue management system information.
 738  
      * 
 739  
      * @param issueManagement
 740  
      */
 741  
     public void setIssueManagement( IssueManagement issueManagement )
 742  
     {
 743  0
         this.issueManagement = issueManagement;
 744  0
     } //-- void setIssueManagement( IssueManagement ) 
 745  
 
 746  
     /**
 747  
      * Set 
 748  
      *             
 749  
      *             This element describes all of the licenses for
 750  
      * this project.
 751  
      *             Each license is described by a
 752  
      * <code>license</code> element, which
 753  
      *             is then described by additional elements.
 754  
      *             Projects should only list the license(s) that
 755  
      * applies to the project
 756  
      *             and not the licenses that apply to dependencies.
 757  
      *             If multiple licenses are listed, it is assumed
 758  
      * that the user can select
 759  
      *             any of them, not that they must accept all.
 760  
      *             
 761  
      *           
 762  
      * 
 763  
      * @param licenses
 764  
      */
 765  
     public void setLicenses( java.util.List licenses )
 766  
     {
 767  0
         this.licenses = licenses;
 768  0
     } //-- void setLicenses( java.util.List ) 
 769  
 
 770  
     /**
 771  
      * Set contains information about a project's mailing lists.
 772  
      * 
 773  
      * @param mailingLists
 774  
      */
 775  
     public void setMailingLists( java.util.List mailingLists )
 776  
     {
 777  0
         this.mailingLists = mailingLists;
 778  0
     } //-- void setMailingLists( java.util.List ) 
 779  
 
 780  
     /**
 781  
      * Set declares to which version of project descriptor this POM
 782  
      * conforms.
 783  
      * 
 784  
      * @param modelVersion
 785  
      */
 786  
     public void setModelVersion( String modelVersion )
 787  
     {
 788  0
         this.modelVersion = modelVersion;
 789  0
     } //-- void setModelVersion( String ) 
 790  
 
 791  
     /**
 792  
      * Set the full name of the project.
 793  
      * 
 794  
      * @param name
 795  
      */
 796  
     public void setName( String name )
 797  
     {
 798  0
         this.name = name;
 799  0
     } //-- void setName( String ) 
 800  
 
 801  
     /**
 802  
      * Set this element describes various attributes of the
 803  
      * organization to which the
 804  
      *             project belongs. These attributes are utilized
 805  
      * when documentation is created (for
 806  
      *             copyright notices and links).
 807  
      * 
 808  
      * @param organization
 809  
      */
 810  
     public void setOrganization( Organization organization )
 811  
     {
 812  0
         this.organization = organization;
 813  0
     } //-- void setOrganization( Organization ) 
 814  
 
 815  
     /**
 816  
      * Set 
 817  
      *             
 818  
      *             The type of artifact this project produces, for
 819  
      * example <code>jar</code>
 820  
      *               <code>war</code>
 821  
      *               <code>ear</code>
 822  
      *               <code>pom</code>.
 823  
      *             Plugins can create their own packaging, and
 824  
      *             therefore their own packaging types,
 825  
      *             so this list does not contain all possible
 826  
      * types.
 827  
      *             
 828  
      *           
 829  
      * 
 830  
      * @param packaging
 831  
      */
 832  
     public void setPackaging( String packaging )
 833  
     {
 834  0
         this.packaging = packaging;
 835  0
     } //-- void setPackaging( String ) 
 836  
 
 837  
     /**
 838  
      * Set the location of the parent project, if one exists.
 839  
      * Values from the parent
 840  
      *             project will be the default for this project if
 841  
      * they are left unspecified. The location
 842  
      *             is given as a group ID, artifact ID and version.
 843  
      * 
 844  
      * @param parent
 845  
      */
 846  
     public void setParent( Parent parent )
 847  
     {
 848  0
         this.parent = parent;
 849  0
     } //-- void setParent( Parent ) 
 850  
 
 851  
     /**
 852  
      * Set describes the prerequisites in the build environment for
 853  
      * this project.
 854  
      * 
 855  
      * @param prerequisites
 856  
      */
 857  
     public void setPrerequisites( Prerequisites prerequisites )
 858  
     {
 859  0
         this.prerequisites = prerequisites;
 860  0
     } //-- void setPrerequisites( Prerequisites ) 
 861  
 
 862  
     /**
 863  
      * Set a listing of project-local build profiles which will
 864  
      * modify the build process
 865  
      *             when activated.
 866  
      * 
 867  
      * @param profiles
 868  
      */
 869  
     public void setProfiles( java.util.List profiles )
 870  
     {
 871  0
         this.profiles = profiles;
 872  0
     } //-- void setProfiles( java.util.List ) 
 873  
 
 874  
     /**
 875  
      * Set specification for the SCM used by the project, such as
 876  
      * CVS, Subversion, etc.
 877  
      * 
 878  
      * @param scm
 879  
      */
 880  
     public void setScm( Scm scm )
 881  
     {
 882  0
         this.scm = scm;
 883  0
     } //-- void setScm( Scm ) 
 884  
 
 885  
     /**
 886  
      * Set 
 887  
      *             
 888  
      *             The URL to the project's homepage.
 889  
      *             
 890  
      *           
 891  
      * 
 892  
      * @param url
 893  
      */
 894  
     public void setUrl( String url )
 895  
     {
 896  0
         this.url = url;
 897  0
     } //-- void setUrl( String ) 
 898  
 
 899  
     /**
 900  
      * Set the current version of the artifact produced by this
 901  
      * project.
 902  
      * 
 903  
      * @param version
 904  
      */
 905  
     public void setVersion( String version )
 906  
     {
 907  0
         this.version = version;
 908  0
     } //-- void setVersion( String ) 
 909  
 
 910  
 
 911  
             
 912  
     /**
 913  
      * @return the model id as <code>groupId:artifactId:packaging:version</code>
 914  
      */
 915  
     public String getId()
 916  
     {
 917  0
         StringBuffer id = new StringBuffer();
 918  
 
 919  0
         id.append( getGroupId() );
 920  0
         id.append( ":" );
 921  0
         id.append( getArtifactId() );
 922  0
         id.append( ":" );
 923  0
         id.append( getPackaging() );
 924  0
         id.append( ":" );
 925  0
         id.append( getVersion() );
 926  
 
 927  0
         return id.toString();
 928  
     }
 929  
             
 930  
           
 931  0
     private String modelEncoding = "UTF-8";
 932  
 
 933  
     /**
 934  
      * Set an encoding used for reading/writing the model.
 935  
      *
 936  
      * @param modelEncoding the encoding used when reading/writing the model.
 937  
      */
 938  
     public void setModelEncoding( String modelEncoding )
 939  
     {
 940  0
         this.modelEncoding = modelEncoding;
 941  0
     }
 942  
 
 943  
     /**
 944  
      * @return the current encoding used when reading/writing this model.
 945  
      */
 946  
     public String getModelEncoding()
 947  
     {
 948  0
         return modelEncoding;
 949  
     }
 950  
 }