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