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