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