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