001    /*
002     =================== DO NOT EDIT THIS FILE ====================
003     Generated by Modello 1.4.1 on 2013-02-24 03:34:48,
004     any modifications will be overwritten.
005     ==============================================================
006     */
007    
008    package org.apache.maven.plugin.descriptor.model;
009    
010    /**
011     * A phase mapping definition.
012     * 
013     * @version $Revision$ $Date$
014     */
015    @SuppressWarnings( "all" )
016    public class Parameter
017        implements java.io.Serializable
018    {
019    
020          //--------------------------/
021         //- Class/Member Variables -/
022        //--------------------------/
023    
024        /**
025         * 
026         *             The name of the parameter, to be used in
027         * configuring this parameter from the Mojo's declared defaults
028         *             or from the POM.
029         *           
030         */
031        private String name;
032    
033        /**
034         * 
035         *             Specifies an alias which can be used to
036         * configure this parameter from the POM.
037         *             This is primarily useful to improve
038         * user-friendliness, where Mojo field names are not intuitive
039         * to the
040         *             user or are otherwise not conducive to
041         * configuration via the POM.
042         *           
043         */
044        private String alias;
045    
046        /**
047         * 
048         *             The Java type for this parameter. This is used
049         * to validate the result of any expressions used to calculate
050         *             the value which should be injected into the Mojo
051         * for this parameter.
052         *           
053         */
054        private String type;
055    
056        /**
057         * 
058         *             Whether this parameter is required for the Mojo
059         * to function. This is used to validate the configuration
060         *             for a Mojo before it is injected, and before the
061         * Mojo is executed from some half-state.
062         *           
063         */
064        private boolean required = false;
065    
066        /**
067         * 
068         *             Specifies that this parameter cannot be
069         * configured directly by the user (as in the case of
070         * POM-specified
071         *             configuration). This is useful when you want to
072         * force the user to use common POM elements rather than
073         *             plugin configurations, as in the case where you
074         * want to use the artifact's final name as a parameter. In
075         *             this case, you want the user to modify
076         * <code>&lt;build&gt;&lt;finalName/&gt;&lt;/build&gt;</code>
077         * rather
078         *             than specifying a value for finalName directly
079         * in the plugin configuration section. It is also useful to
080         *             ensure that - for example - a List-typed
081         * parameter which expects items of type Artifact doesn't get a
082         * List
083         *             full of Strings.
084         *           
085         */
086        private boolean editable = true;
087    
088        /**
089         * Field implementation.
090         */
091        private String implementation;
092    
093        /**
094         * The description of this parameter's use inside the Mojo.
095         */
096        private String description;
097    
098        /**
099         * Specify the version when the parameter was added to the API.
100         * Similar to Javadoc since.
101         */
102        private String since;
103    
104        /**
105         * 
106         *             Specify the version when the parameter was
107         * deprecated to the API. Similar to Javadoc deprecated.
108         *             This will trigger a warning when a user tries to
109         * configure a parameter marked as deprecated.
110         *           
111         */
112        private String deprecated;
113    
114    
115          //-----------/
116         //- Methods -/
117        //-----------/
118    
119        /**
120         * Get specifies an alias which can be used to configure this
121         * parameter from the POM.
122         *             This is primarily useful to improve
123         * user-friendliness, where Mojo field names are not intuitive
124         * to the
125         *             user or are otherwise not conducive to
126         * configuration via the POM.
127         * 
128         * @return String
129         */
130        public String getAlias()
131        {
132            return this.alias;
133        } //-- String getAlias()
134    
135        /**
136         * Get specify the version when the parameter was deprecated to
137         * the API. Similar to Javadoc deprecated.
138         *             This will trigger a warning when a user tries to
139         * configure a parameter marked as deprecated.
140         * 
141         * @return String
142         */
143        public String getDeprecated()
144        {
145            return this.deprecated;
146        } //-- String getDeprecated()
147    
148        /**
149         * Get the description of this parameter's use inside the Mojo.
150         * 
151         * @return String
152         */
153        public String getDescription()
154        {
155            return this.description;
156        } //-- String getDescription()
157    
158        /**
159         * Get the implementation field.
160         * 
161         * @return String
162         */
163        public String getImplementation()
164        {
165            return this.implementation;
166        } //-- String getImplementation()
167    
168        /**
169         * Get the name of the parameter, to be used in configuring
170         * this parameter from the Mojo's declared defaults
171         *             or from the POM.
172         * 
173         * @return String
174         */
175        public String getName()
176        {
177            return this.name;
178        } //-- String getName()
179    
180        /**
181         * Get specify the version when the parameter was added to the
182         * API. Similar to Javadoc since.
183         * 
184         * @return String
185         */
186        public String getSince()
187        {
188            return this.since;
189        } //-- String getSince()
190    
191        /**
192         * Get the Java type for this parameter. This is used to
193         * validate the result of any expressions used to calculate
194         *             the value which should be injected into the Mojo
195         * for this parameter.
196         * 
197         * @return String
198         */
199        public String getType()
200        {
201            return this.type;
202        } //-- String getType()
203    
204        /**
205         * Get specifies that this parameter cannot be configured
206         * directly by the user (as in the case of POM-specified
207         *             configuration). This is useful when you want to
208         * force the user to use common POM elements rather than
209         *             plugin configurations, as in the case where you
210         * want to use the artifact's final name as a parameter. In
211         *             this case, you want the user to modify
212         * <code>&lt;build&gt;&lt;finalName/&gt;&lt;/build&gt;</code>
213         * rather
214         *             than specifying a value for finalName directly
215         * in the plugin configuration section. It is also useful to
216         *             ensure that - for example - a List-typed
217         * parameter which expects items of type Artifact doesn't get a
218         * List
219         *             full of Strings.
220         * 
221         * @return boolean
222         */
223        public boolean isEditable()
224        {
225            return this.editable;
226        } //-- boolean isEditable()
227    
228        /**
229         * Get whether this parameter is required for the Mojo to
230         * function. This is used to validate the configuration
231         *             for a Mojo before it is injected, and before the
232         * Mojo is executed from some half-state.
233         * 
234         * @return boolean
235         */
236        public boolean isRequired()
237        {
238            return this.required;
239        } //-- boolean isRequired()
240    
241        /**
242         * Set specifies an alias which can be used to configure this
243         * parameter from the POM.
244         *             This is primarily useful to improve
245         * user-friendliness, where Mojo field names are not intuitive
246         * to the
247         *             user or are otherwise not conducive to
248         * configuration via the POM.
249         * 
250         * @param alias
251         */
252        public void setAlias( String alias )
253        {
254            this.alias = alias;
255        } //-- void setAlias( String )
256    
257        /**
258         * Set specify the version when the parameter was deprecated to
259         * the API. Similar to Javadoc deprecated.
260         *             This will trigger a warning when a user tries to
261         * configure a parameter marked as deprecated.
262         * 
263         * @param deprecated
264         */
265        public void setDeprecated( String deprecated )
266        {
267            this.deprecated = deprecated;
268        } //-- void setDeprecated( String )
269    
270        /**
271         * Set the description of this parameter's use inside the Mojo.
272         * 
273         * @param description
274         */
275        public void setDescription( String description )
276        {
277            this.description = description;
278        } //-- void setDescription( String )
279    
280        /**
281         * Set specifies that this parameter cannot be configured
282         * directly by the user (as in the case of POM-specified
283         *             configuration). This is useful when you want to
284         * force the user to use common POM elements rather than
285         *             plugin configurations, as in the case where you
286         * want to use the artifact's final name as a parameter. In
287         *             this case, you want the user to modify
288         * <code>&lt;build&gt;&lt;finalName/&gt;&lt;/build&gt;</code>
289         * rather
290         *             than specifying a value for finalName directly
291         * in the plugin configuration section. It is also useful to
292         *             ensure that - for example - a List-typed
293         * parameter which expects items of type Artifact doesn't get a
294         * List
295         *             full of Strings.
296         * 
297         * @param editable
298         */
299        public void setEditable( boolean editable )
300        {
301            this.editable = editable;
302        } //-- void setEditable( boolean )
303    
304        /**
305         * Set the implementation field.
306         * 
307         * @param implementation
308         */
309        public void setImplementation( String implementation )
310        {
311            this.implementation = implementation;
312        } //-- void setImplementation( String )
313    
314        /**
315         * Set the name of the parameter, to be used in configuring
316         * this parameter from the Mojo's declared defaults
317         *             or from the POM.
318         * 
319         * @param name
320         */
321        public void setName( String name )
322        {
323            this.name = name;
324        } //-- void setName( String )
325    
326        /**
327         * Set whether this parameter is required for the Mojo to
328         * function. This is used to validate the configuration
329         *             for a Mojo before it is injected, and before the
330         * Mojo is executed from some half-state.
331         * 
332         * @param required
333         */
334        public void setRequired( boolean required )
335        {
336            this.required = required;
337        } //-- void setRequired( boolean )
338    
339        /**
340         * Set specify the version when the parameter was added to the
341         * API. Similar to Javadoc since.
342         * 
343         * @param since
344         */
345        public void setSince( String since )
346        {
347            this.since = since;
348        } //-- void setSince( String )
349    
350        /**
351         * Set the Java type for this parameter. This is used to
352         * validate the result of any expressions used to calculate
353         *             the value which should be injected into the Mojo
354         * for this parameter.
355         * 
356         * @param type
357         */
358        public void setType( String type )
359        {
360            this.type = type;
361        } //-- void setType( String )
362    
363    }