View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.4.1 on 2012-01-20 18:05:12,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.plugin.descriptor.model;
9   
10  /**
11   * 
12   *         A Mojo description.
13   *       
14   * 
15   * @version $Revision$ $Date$
16   */
17  @SuppressWarnings( "all" )
18  public class MojoDescriptor
19      implements java.io.Serializable
20  {
21  
22        //--------------------------/
23       //- Class/Member Variables -/
24      //--------------------------/
25  
26      /**
27       * 
28       *             The name for the Mojo that users will reference
29       * from the command line to execute the Mojo directly,
30       *             or inside a POM in order to provide
31       * Mojo-specific configuration.
32       *           
33       */
34      private String goal;
35  
36      /**
37       * The description of this Mojo's functionality.
38       */
39      private String description;
40  
41      /**
42       * 
43       *             The Mojo's fully-qualified class name (or script
44       * path in the case of non-Java Mojos).
45       *           
46       */
47      private String implementation;
48  
49      /**
50       * The implementation language for this Mojo (Java, beanshell,
51       * etc.).
52       */
53      private String language = "java";
54  
55      /**
56       * 
57       *             Defines a default phase to bind a mojo execution
58       * to if the user does not explicitly set a phase in the POM.
59       *             <i>Note:</i> This annotation will not
60       * automagically make a mojo run when the plugin declaration is
61       * added
62       *             to the POM. It merely enables the user to omit
63       * the <code>&lt;phase&gt;</code> element from the
64       *             surrounding <code>&lt;execution&gt;</code>
65       * element.
66       *           
67       */
68      private String phase;
69  
70      /**
71       * Field executePhase.
72       */
73      private String executePhase;
74  
75      /**
76       * Field executeGoal.
77       */
78      private String executeGoal;
79  
80      /**
81       * Field executeLifecycle.
82       */
83      private String executeLifecycle;
84  
85      /**
86       * 
87       *             Flags this Mojo as requiring the dependencies in
88       * the specified class path to be resolved before it can
89       *             execute: <code>compile</code>,
90       * <code>runtime</code>, <code>test</code>,
91       *             <code>compile+runtime</code> (since Maven 3.0)
92       *           .
93       */
94      private String requiresDependencyResolution = "runtime";
95  
96      /**
97       * 
98       *             Flags this mojo as requiring information about
99       * the dependencies that would make up the specified class
100      *             path. As the name suggests, this is similar to
101      * requiresDependencyResolution and supports the same values.
102      *             The important difference is this will not
103      * resolve the files for the dependencies, i.e. the artifacts
104      *             associated with a Maven project can lack a file.
105      * As such, this annotation is meant for mojos that only
106      *             want to analyze the set of transitive
107      * dependencies, in particular during early lifecycle phases
108      * where
109      *             full dependency resolution might fail due to
110      * projects which haven't been built yet.
111      *           
112      */
113     private String requiresDependencyCollection;
114 
115     /**
116      * Flags this Mojo to be invoked directly.
117      */
118     private boolean requiresDirectInvocation = false;
119 
120     /**
121      * Flags this Mojo to run inside of a project.
122      */
123     private boolean requiresProject = true;
124 
125     /**
126      * Flags this Mojo to require reports. Unsupported since Maven
127      * 3.0.
128      */
129     private boolean requiresReports = false;
130 
131     /**
132      * Flags this Mojo to require online mode for its operation.
133      */
134     private boolean requiresOnline = false;
135 
136     /**
137      * 
138      *             Flags this Mojo to run it in a multi module way,
139      * i.e. aggregate the build with the set of projects
140      *             listed as modules.
141      *           
142      */
143     private boolean aggregator = false;
144 
145     /**
146      * Specify that the Mojo is inherited.
147      */
148     private boolean inheritedByDefault = true;
149 
150     /**
151      * 
152      *             Marks this mojo as being thread-safe, i.e. the
153      * mojo safely supports concurrent execution during parallel
154      *             builds. Mojos without this annotation will make
155      * Maven output a warning when used during a parallel build
156      *             session. Since Maven 3.0.
157      *           
158      */
159     private boolean threadSafe = false;
160 
161     /**
162      * Specify the instantiation strategy.
163      */
164     private String instantiationStrategy = "per-lookup";
165 
166     /**
167      * 
168      *             Specify the execution strategy:
169      * <code>once-per-session</code>, <code>always</code>.
170      *           
171      */
172     private String executionStrategy;
173 
174     /**
175      * Specify the version when the Mojo was added to the API.
176      * Similar to Javadoc since.
177      */
178     private String since;
179 
180     /**
181      * 
182      *             Specify the version when the Mojo was deprecated
183      * to the API. Similar to Javadoc deprecated. This will
184      *             trigger a warning when a user tries to configure
185      * a parameter marked as deprecated.
186      *           
187      */
188     private String deprecated;
189 
190     /**
191      * 
192      *             The configurator type to use when injecting
193      * parameter values into this Mojo. The value is normally
194      * deduced
195      *             from the Mojo's implementation language, but can
196      * be specified to allow a custom ComponentConfigurator
197      *             implementation to be used.
198      *           
199      */
200     private String configurator;
201 
202     /**
203      * Field composer.
204      */
205     private String composer;
206 
207     /**
208      * Field parameters.
209      */
210     private java.util.List<Parameter> parameters;
211 
212     /**
213      * Field configuration.
214      */
215     private java.util.List<Configuration> configuration;
216 
217     /**
218      * Field requirements.
219      */
220     private java.util.List<Requirement> requirements;
221 
222 
223       //-----------/
224      //- Methods -/
225     //-----------/
226 
227     /**
228      * Method addConfiguration.
229      * 
230      * @param configuration
231      */
232     public void addConfiguration( Configuration configuration )
233     {
234         getConfiguration().add( configuration );
235     } //-- void addConfiguration( Configuration )
236 
237     /**
238      * Method addParameter.
239      * 
240      * @param parameter
241      */
242     public void addParameter( Parameter parameter )
243     {
244         getParameters().add( parameter );
245     } //-- void addParameter( Parameter )
246 
247     /**
248      * Method addRequirement.
249      * 
250      * @param requirement
251      */
252     public void addRequirement( Requirement requirement )
253     {
254         getRequirements().add( requirement );
255     } //-- void addRequirement( Requirement )
256 
257     /**
258      * Get the composer field.
259      * 
260      * @return String
261      */
262     public String getComposer()
263     {
264         return this.composer;
265     } //-- String getComposer()
266 
267     /**
268      * Method getConfiguration.
269      * 
270      * @return List
271      */
272     public java.util.List<Configuration> getConfiguration()
273     {
274         if ( this.configuration == null )
275         {
276             this.configuration = new java.util.ArrayList<Configuration>();
277         }
278 
279         return this.configuration;
280     } //-- java.util.List<Configuration> getConfiguration()
281 
282     /**
283      * Get the configurator type to use when injecting parameter
284      * values into this Mojo. The value is normally deduced
285      *             from the Mojo's implementation language, but can
286      * be specified to allow a custom ComponentConfigurator
287      *             implementation to be used.
288      * 
289      * @return String
290      */
291     public String getConfigurator()
292     {
293         return this.configurator;
294     } //-- String getConfigurator()
295 
296     /**
297      * Get specify the version when the Mojo was deprecated to the
298      * API. Similar to Javadoc deprecated. This will
299      *             trigger a warning when a user tries to configure
300      * a parameter marked as deprecated.
301      * 
302      * @return String
303      */
304     public String getDeprecated()
305     {
306         return this.deprecated;
307     } //-- String getDeprecated()
308 
309     /**
310      * Get the description of this Mojo's functionality.
311      * 
312      * @return String
313      */
314     public String getDescription()
315     {
316         return this.description;
317     } //-- String getDescription()
318 
319     /**
320      * Get the executeGoal field.
321      * 
322      * @return String
323      */
324     public String getExecuteGoal()
325     {
326         return this.executeGoal;
327     } //-- String getExecuteGoal()
328 
329     /**
330      * Get the executeLifecycle field.
331      * 
332      * @return String
333      */
334     public String getExecuteLifecycle()
335     {
336         return this.executeLifecycle;
337     } //-- String getExecuteLifecycle()
338 
339     /**
340      * Get the executePhase field.
341      * 
342      * @return String
343      */
344     public String getExecutePhase()
345     {
346         return this.executePhase;
347     } //-- String getExecutePhase()
348 
349     /**
350      * Get specify the execution strategy:
351      * <code>once-per-session</code>, <code>always</code>.
352      * 
353      * @return String
354      */
355     public String getExecutionStrategy()
356     {
357         return this.executionStrategy;
358     } //-- String getExecutionStrategy()
359 
360     /**
361      * Get the name for the Mojo that users will reference from the
362      * command line to execute the Mojo directly,
363      *             or inside a POM in order to provide
364      * Mojo-specific configuration.
365      * 
366      * @return String
367      */
368     public String getGoal()
369     {
370         return this.goal;
371     } //-- String getGoal()
372 
373     /**
374      * Get the Mojo's fully-qualified class name (or script path in
375      * the case of non-Java Mojos).
376      * 
377      * @return String
378      */
379     public String getImplementation()
380     {
381         return this.implementation;
382     } //-- String getImplementation()
383 
384     /**
385      * Get specify the instantiation strategy.
386      * 
387      * @return String
388      */
389     public String getInstantiationStrategy()
390     {
391         return this.instantiationStrategy;
392     } //-- String getInstantiationStrategy()
393 
394     /**
395      * Get the implementation language for this Mojo (Java,
396      * beanshell, etc.).
397      * 
398      * @return String
399      */
400     public String getLanguage()
401     {
402         return this.language;
403     } //-- String getLanguage()
404 
405     /**
406      * Method getParameters.
407      * 
408      * @return List
409      */
410     public java.util.List<Parameter> getParameters()
411     {
412         if ( this.parameters == null )
413         {
414             this.parameters = new java.util.ArrayList<Parameter>();
415         }
416 
417         return this.parameters;
418     } //-- java.util.List<Parameter> getParameters()
419 
420     /**
421      * Get defines a default phase to bind a mojo execution to if
422      * the user does not explicitly set a phase in the POM.
423      *             <i>Note:</i> This annotation will not
424      * automagically make a mojo run when the plugin declaration is
425      * added
426      *             to the POM. It merely enables the user to omit
427      * the <code>&lt;phase&gt;</code> element from the
428      *             surrounding <code>&lt;execution&gt;</code>
429      * element.
430      * 
431      * @return String
432      */
433     public String getPhase()
434     {
435         return this.phase;
436     } //-- String getPhase()
437 
438     /**
439      * Method getRequirements.
440      * 
441      * @return List
442      */
443     public java.util.List<Requirement> getRequirements()
444     {
445         if ( this.requirements == null )
446         {
447             this.requirements = new java.util.ArrayList<Requirement>();
448         }
449 
450         return this.requirements;
451     } //-- java.util.List<Requirement> getRequirements()
452 
453     /**
454      * Get flags this mojo as requiring information about the
455      * dependencies that would make up the specified class
456      *             path. As the name suggests, this is similar to
457      * requiresDependencyResolution and supports the same values.
458      *             The important difference is this will not
459      * resolve the files for the dependencies, i.e. the artifacts
460      *             associated with a Maven project can lack a file.
461      * As such, this annotation is meant for mojos that only
462      *             want to analyze the set of transitive
463      * dependencies, in particular during early lifecycle phases
464      * where
465      *             full dependency resolution might fail due to
466      * projects which haven't been built yet.
467      * 
468      * @return String
469      */
470     public String getRequiresDependencyCollection()
471     {
472         return this.requiresDependencyCollection;
473     } //-- String getRequiresDependencyCollection()
474 
475     /**
476      * Get flags this Mojo as requiring the dependencies in the
477      * specified class path to be resolved before it can
478      *             execute: <code>compile</code>,
479      * <code>runtime</code>, <code>test</code>,
480      *             <code>compile+runtime</code> (since Maven 3.0).
481      * 
482      * @return String
483      */
484     public String getRequiresDependencyResolution()
485     {
486         return this.requiresDependencyResolution;
487     } //-- String getRequiresDependencyResolution()
488 
489     /**
490      * Get specify the version when the Mojo was added to the API.
491      * Similar to Javadoc since.
492      * 
493      * @return String
494      */
495     public String getSince()
496     {
497         return this.since;
498     } //-- String getSince()
499 
500     /**
501      * Get flags this Mojo to run it in a multi module way, i.e.
502      * aggregate the build with the set of projects
503      *             listed as modules.
504      * 
505      * @return boolean
506      */
507     public boolean isAggregator()
508     {
509         return this.aggregator;
510     } //-- boolean isAggregator()
511 
512     /**
513      * Get specify that the Mojo is inherited.
514      * 
515      * @return boolean
516      */
517     public boolean isInheritedByDefault()
518     {
519         return this.inheritedByDefault;
520     } //-- boolean isInheritedByDefault()
521 
522     /**
523      * Get flags this Mojo to be invoked directly.
524      * 
525      * @return boolean
526      */
527     public boolean isRequiresDirectInvocation()
528     {
529         return this.requiresDirectInvocation;
530     } //-- boolean isRequiresDirectInvocation()
531 
532     /**
533      * Get flags this Mojo to require online mode for its
534      * operation.
535      * 
536      * @return boolean
537      */
538     public boolean isRequiresOnline()
539     {
540         return this.requiresOnline;
541     } //-- boolean isRequiresOnline()
542 
543     /**
544      * Get flags this Mojo to run inside of a project.
545      * 
546      * @return boolean
547      */
548     public boolean isRequiresProject()
549     {
550         return this.requiresProject;
551     } //-- boolean isRequiresProject()
552 
553     /**
554      * Get flags this Mojo to require reports. Unsupported since
555      * Maven 3.0.
556      * 
557      * @return boolean
558      */
559     public boolean isRequiresReports()
560     {
561         return this.requiresReports;
562     } //-- boolean isRequiresReports()
563 
564     /**
565      * Get marks this mojo as being thread-safe, i.e. the mojo
566      * safely supports concurrent execution during parallel
567      *             builds. Mojos without this annotation will make
568      * Maven output a warning when used during a parallel build
569      *             session. Since Maven 3.0.
570      * 
571      * @return boolean
572      */
573     public boolean isThreadSafe()
574     {
575         return this.threadSafe;
576     } //-- boolean isThreadSafe()
577 
578     /**
579      * Method removeConfiguration.
580      * 
581      * @param configuration
582      */
583     public void removeConfiguration( Configuration configuration )
584     {
585         getConfiguration().remove( configuration );
586     } //-- void removeConfiguration( Configuration )
587 
588     /**
589      * Method removeParameter.
590      * 
591      * @param parameter
592      */
593     public void removeParameter( Parameter parameter )
594     {
595         getParameters().remove( parameter );
596     } //-- void removeParameter( Parameter )
597 
598     /**
599      * Method removeRequirement.
600      * 
601      * @param requirement
602      */
603     public void removeRequirement( Requirement requirement )
604     {
605         getRequirements().remove( requirement );
606     } //-- void removeRequirement( Requirement )
607 
608     /**
609      * Set flags this Mojo to run it in a multi module way, i.e.
610      * aggregate the build with the set of projects
611      *             listed as modules.
612      * 
613      * @param aggregator
614      */
615     public void setAggregator( boolean aggregator )
616     {
617         this.aggregator = aggregator;
618     } //-- void setAggregator( boolean )
619 
620     /**
621      * Set the composer field.
622      * 
623      * @param composer
624      */
625     public void setComposer( String composer )
626     {
627         this.composer = composer;
628     } //-- void setComposer( String )
629 
630     /**
631      * Set the configuration field.
632      * 
633      * @param configuration
634      */
635     public void setConfiguration( java.util.List<Configuration> configuration )
636     {
637         this.configuration = configuration;
638     } //-- void setConfiguration( java.util.List )
639 
640     /**
641      * Set the configurator type to use when injecting parameter
642      * values into this Mojo. The value is normally deduced
643      *             from the Mojo's implementation language, but can
644      * be specified to allow a custom ComponentConfigurator
645      *             implementation to be used.
646      * 
647      * @param configurator
648      */
649     public void setConfigurator( String configurator )
650     {
651         this.configurator = configurator;
652     } //-- void setConfigurator( String )
653 
654     /**
655      * Set specify the version when the Mojo was deprecated to the
656      * API. Similar to Javadoc deprecated. This will
657      *             trigger a warning when a user tries to configure
658      * a parameter marked as deprecated.
659      * 
660      * @param deprecated
661      */
662     public void setDeprecated( String deprecated )
663     {
664         this.deprecated = deprecated;
665     } //-- void setDeprecated( String )
666 
667     /**
668      * Set the description of this Mojo's functionality.
669      * 
670      * @param description
671      */
672     public void setDescription( String description )
673     {
674         this.description = description;
675     } //-- void setDescription( String )
676 
677     /**
678      * Set the executeGoal field.
679      * 
680      * @param executeGoal
681      */
682     public void setExecuteGoal( String executeGoal )
683     {
684         this.executeGoal = executeGoal;
685     } //-- void setExecuteGoal( String )
686 
687     /**
688      * Set the executeLifecycle field.
689      * 
690      * @param executeLifecycle
691      */
692     public void setExecuteLifecycle( String executeLifecycle )
693     {
694         this.executeLifecycle = executeLifecycle;
695     } //-- void setExecuteLifecycle( String )
696 
697     /**
698      * Set the executePhase field.
699      * 
700      * @param executePhase
701      */
702     public void setExecutePhase( String executePhase )
703     {
704         this.executePhase = executePhase;
705     } //-- void setExecutePhase( String )
706 
707     /**
708      * Set specify the execution strategy:
709      * <code>once-per-session</code>, <code>always</code>.
710      * 
711      * @param executionStrategy
712      */
713     public void setExecutionStrategy( String executionStrategy )
714     {
715         this.executionStrategy = executionStrategy;
716     } //-- void setExecutionStrategy( String )
717 
718     /**
719      * Set the name for the Mojo that users will reference from the
720      * command line to execute the Mojo directly,
721      *             or inside a POM in order to provide
722      * Mojo-specific configuration.
723      * 
724      * @param goal
725      */
726     public void setGoal( String goal )
727     {
728         this.goal = goal;
729     } //-- void setGoal( String )
730 
731     /**
732      * Set the Mojo's fully-qualified class name (or script path in
733      * the case of non-Java Mojos).
734      * 
735      * @param implementation
736      */
737     public void setImplementation( String implementation )
738     {
739         this.implementation = implementation;
740     } //-- void setImplementation( String )
741 
742     /**
743      * Set specify that the Mojo is inherited.
744      * 
745      * @param inheritedByDefault
746      */
747     public void setInheritedByDefault( boolean inheritedByDefault )
748     {
749         this.inheritedByDefault = inheritedByDefault;
750     } //-- void setInheritedByDefault( boolean )
751 
752     /**
753      * Set specify the instantiation strategy.
754      * 
755      * @param instantiationStrategy
756      */
757     public void setInstantiationStrategy( String instantiationStrategy )
758     {
759         this.instantiationStrategy = instantiationStrategy;
760     } //-- void setInstantiationStrategy( String )
761 
762     /**
763      * Set the implementation language for this Mojo (Java,
764      * beanshell, etc.).
765      * 
766      * @param language
767      */
768     public void setLanguage( String language )
769     {
770         this.language = language;
771     } //-- void setLanguage( String )
772 
773     /**
774      * Set the parameters field.
775      * 
776      * @param parameters
777      */
778     public void setParameters( java.util.List<Parameter> parameters )
779     {
780         this.parameters = parameters;
781     } //-- void setParameters( java.util.List )
782 
783     /**
784      * Set defines a default phase to bind a mojo execution to if
785      * the user does not explicitly set a phase in the POM.
786      *             <i>Note:</i> This annotation will not
787      * automagically make a mojo run when the plugin declaration is
788      * added
789      *             to the POM. It merely enables the user to omit
790      * the <code>&lt;phase&gt;</code> element from the
791      *             surrounding <code>&lt;execution&gt;</code>
792      * element.
793      * 
794      * @param phase
795      */
796     public void setPhase( String phase )
797     {
798         this.phase = phase;
799     } //-- void setPhase( String )
800 
801     /**
802      * Set the requirements field.
803      * 
804      * @param requirements
805      */
806     public void setRequirements( java.util.List<Requirement> requirements )
807     {
808         this.requirements = requirements;
809     } //-- void setRequirements( java.util.List )
810 
811     /**
812      * Set flags this mojo as requiring information about the
813      * dependencies that would make up the specified class
814      *             path. As the name suggests, this is similar to
815      * requiresDependencyResolution and supports the same values.
816      *             The important difference is this will not
817      * resolve the files for the dependencies, i.e. the artifacts
818      *             associated with a Maven project can lack a file.
819      * As such, this annotation is meant for mojos that only
820      *             want to analyze the set of transitive
821      * dependencies, in particular during early lifecycle phases
822      * where
823      *             full dependency resolution might fail due to
824      * projects which haven't been built yet.
825      * 
826      * @param requiresDependencyCollection
827      */
828     public void setRequiresDependencyCollection( String requiresDependencyCollection )
829     {
830         this.requiresDependencyCollection = requiresDependencyCollection;
831     } //-- void setRequiresDependencyCollection( String )
832 
833     /**
834      * Set flags this Mojo as requiring the dependencies in the
835      * specified class path to be resolved before it can
836      *             execute: <code>compile</code>,
837      * <code>runtime</code>, <code>test</code>,
838      *             <code>compile+runtime</code> (since Maven 3.0).
839      * 
840      * @param requiresDependencyResolution
841      */
842     public void setRequiresDependencyResolution( String requiresDependencyResolution )
843     {
844         this.requiresDependencyResolution = requiresDependencyResolution;
845     } //-- void setRequiresDependencyResolution( String )
846 
847     /**
848      * Set flags this Mojo to be invoked directly.
849      * 
850      * @param requiresDirectInvocation
851      */
852     public void setRequiresDirectInvocation( boolean requiresDirectInvocation )
853     {
854         this.requiresDirectInvocation = requiresDirectInvocation;
855     } //-- void setRequiresDirectInvocation( boolean )
856 
857     /**
858      * Set flags this Mojo to require online mode for its
859      * operation.
860      * 
861      * @param requiresOnline
862      */
863     public void setRequiresOnline( boolean requiresOnline )
864     {
865         this.requiresOnline = requiresOnline;
866     } //-- void setRequiresOnline( boolean )
867 
868     /**
869      * Set flags this Mojo to run inside of a project.
870      * 
871      * @param requiresProject
872      */
873     public void setRequiresProject( boolean requiresProject )
874     {
875         this.requiresProject = requiresProject;
876     } //-- void setRequiresProject( boolean )
877 
878     /**
879      * Set flags this Mojo to require reports. Unsupported since
880      * Maven 3.0.
881      * 
882      * @param requiresReports
883      */
884     public void setRequiresReports( boolean requiresReports )
885     {
886         this.requiresReports = requiresReports;
887     } //-- void setRequiresReports( boolean )
888 
889     /**
890      * Set specify the version when the Mojo was added to the API.
891      * Similar to Javadoc since.
892      * 
893      * @param since
894      */
895     public void setSince( String since )
896     {
897         this.since = since;
898     } //-- void setSince( String )
899 
900     /**
901      * Set marks this mojo as being thread-safe, i.e. the mojo
902      * safely supports concurrent execution during parallel
903      *             builds. Mojos without this annotation will make
904      * Maven output a warning when used during a parallel build
905      *             session. Since Maven 3.0.
906      * 
907      * @param threadSafe
908      */
909     public void setThreadSafe( boolean threadSafe )
910     {
911         this.threadSafe = threadSafe;
912     } //-- void setThreadSafe( boolean )
913 
914 }