001/*
002 Licensed to the Apache Software Foundation (ASF) under one
003 or more contributor license agreements.  See the NOTICE file
004 distributed with this work for additional information
005 regarding copyright ownership.  The ASF licenses this file
006 to you under the Apache License, Version 2.0 (the
007 "License"); you may not use this file except in compliance
008 with the License.  You may obtain a copy of the License at
009 
010     http://www.apache.org/licenses/LICENSE-2.0
011 
012 Unless required by applicable law or agreed to in writing,
013 software distributed under the License is distributed on an
014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 KIND, either express or implied.  See the License for the
016 specific language governing permissions and limitations
017 under the License.
018 =================== DO NOT EDIT THIS FILE ====================
019 Generated by Modello 2.5.1,
020 any modifications will be overwritten.
021 ==============================================================
022 */
023
024package org.apache.maven.tools.plugin.extractor.model;
025
026/**
027 * 
028 *         A parameter used by a mojo, and configurable from the
029 * command line or POM configuration sections.
030 *       
031 * 
032 * @version $Revision$ $Date$
033 */
034@SuppressWarnings( "all" )
035public class Parameter
036    implements java.io.Serializable
037{
038
039      //--------------------------/
040     //- Class/Member Variables -/
041    //--------------------------/
042
043    /**
044     * The parameter name.
045     */
046    private String name;
047
048    /**
049     * An alternate name for the parameter.
050     */
051    private String alias;
052
053    /**
054     * The JavaBeans property name to use to configure the mojo
055     * with this parameter.
056     */
057    private String property;
058
059    /**
060     * Whether this parameter is required.
061     */
062    private boolean required = false;
063
064    /**
065     * 
066     *             Whether this parameter can be directly edited.
067     * If false, this param is either derived from another POM
068     * element, or refers to a runtime instance of the build
069     * system.
070     *           
071     */
072    private boolean readonly = false;
073
074    /**
075     * 
076     *             The command-line reference to this parameter.
077     *           
078     */
079    private String expression;
080
081    /**
082     * 
083     *             An expression in the form ${instance.property}
084     * for extracting a value for this parameter, especially from
085     *             a runtime instance within the build system. (eg.
086     * ${project.build.directory} references
087     *             project.getBuild().getDirectory())
088     *           .
089     */
090    private String defaultValue;
091
092    /**
093     * 
094     *             The java type for this parameter.
095     *           
096     */
097    private String type;
098
099    /**
100     * The description for this parameter.
101     */
102    private String description;
103
104    /**
105     * A deprecation message for this mojo parameter.
106     */
107    private String deprecation;
108
109    /**
110     * Version when the parameter was added.
111     */
112    private String since;
113
114
115      //-----------/
116     //- Methods -/
117    //-----------/
118
119    /**
120     * Get an alternate name for the parameter.
121     * 
122     * @return String
123     */
124    public String getAlias()
125    {
126        return this.alias;
127    } //-- String getAlias()
128
129    /**
130     * Get an expression in the form ${instance.property} for
131     * extracting a value for this parameter, especially from
132     *             a runtime instance within the build system. (eg.
133     * ${project.build.directory} references
134     *             project.getBuild().getDirectory()).
135     * 
136     * @return String
137     */
138    public String getDefaultValue()
139    {
140        return this.defaultValue;
141    } //-- String getDefaultValue()
142
143    /**
144     * Get a deprecation message for this mojo parameter.
145     * 
146     * @return String
147     */
148    public String getDeprecation()
149    {
150        return this.deprecation;
151    } //-- String getDeprecation()
152
153    /**
154     * Get the description for this parameter.
155     * 
156     * @return String
157     */
158    public String getDescription()
159    {
160        return this.description;
161    } //-- String getDescription()
162
163    /**
164     * Get the command-line reference to this parameter.
165     * 
166     * @return String
167     */
168    public String getExpression()
169    {
170        return this.expression;
171    } //-- String getExpression()
172
173    /**
174     * Get the parameter name.
175     * 
176     * @return String
177     */
178    public String getName()
179    {
180        return this.name;
181    } //-- String getName()
182
183    /**
184     * Get the JavaBeans property name to use to configure the mojo
185     * with this parameter.
186     * 
187     * @return String
188     */
189    public String getProperty()
190    {
191        return this.property;
192    } //-- String getProperty()
193
194    /**
195     * Get version when the parameter was added.
196     * 
197     * @return String
198     */
199    public String getSince()
200    {
201        return this.since;
202    } //-- String getSince()
203
204    /**
205     * Get the java type for this parameter.
206     * 
207     * @return String
208     */
209    public String getType()
210    {
211        return this.type;
212    } //-- String getType()
213
214    /**
215     * Get whether this parameter can be directly edited. If false,
216     * this param is either derived from another POM element, or
217     * refers to a runtime instance of the build system.
218     * 
219     * @return boolean
220     */
221    public boolean isReadonly()
222    {
223        return this.readonly;
224    } //-- boolean isReadonly()
225
226    /**
227     * Get whether this parameter is required.
228     * 
229     * @return boolean
230     */
231    public boolean isRequired()
232    {
233        return this.required;
234    } //-- boolean isRequired()
235
236    /**
237     * Set an alternate name for the parameter.
238     * 
239     * @param alias a alias object.
240     */
241    public void setAlias( String alias )
242    {
243        this.alias = alias;
244    } //-- void setAlias( String )
245
246    /**
247     * Set an expression in the form ${instance.property} for
248     * extracting a value for this parameter, especially from
249     *             a runtime instance within the build system. (eg.
250     * ${project.build.directory} references
251     *             project.getBuild().getDirectory()).
252     * 
253     * @param defaultValue a defaultValue object.
254     */
255    public void setDefaultValue( String defaultValue )
256    {
257        this.defaultValue = defaultValue;
258    } //-- void setDefaultValue( String )
259
260    /**
261     * Set a deprecation message for this mojo parameter.
262     * 
263     * @param deprecation a deprecation object.
264     */
265    public void setDeprecation( String deprecation )
266    {
267        this.deprecation = deprecation;
268    } //-- void setDeprecation( String )
269
270    /**
271     * Set the description for this parameter.
272     * 
273     * @param description a description object.
274     */
275    public void setDescription( String description )
276    {
277        this.description = description;
278    } //-- void setDescription( String )
279
280    /**
281     * Set the command-line reference to this parameter.
282     * 
283     * @param expression a expression object.
284     */
285    public void setExpression( String expression )
286    {
287        this.expression = expression;
288    } //-- void setExpression( String )
289
290    /**
291     * Set the parameter name.
292     * 
293     * @param name a name object.
294     */
295    public void setName( String name )
296    {
297        this.name = name;
298    } //-- void setName( String )
299
300    /**
301     * Set the JavaBeans property name to use to configure the mojo
302     * with this parameter.
303     * 
304     * @param property a property object.
305     */
306    public void setProperty( String property )
307    {
308        this.property = property;
309    } //-- void setProperty( String )
310
311    /**
312     * Set whether this parameter can be directly edited. If false,
313     * this param is either derived from another POM element, or
314     * refers to a runtime instance of the build system.
315     * 
316     * @param readonly a readonly object.
317     */
318    public void setReadonly( boolean readonly )
319    {
320        this.readonly = readonly;
321    } //-- void setReadonly( boolean )
322
323    /**
324     * Set whether this parameter is required.
325     * 
326     * @param required a required object.
327     */
328    public void setRequired( boolean required )
329    {
330        this.required = required;
331    } //-- void setRequired( boolean )
332
333    /**
334     * Set version when the parameter was added.
335     * 
336     * @param since a since object.
337     */
338    public void setSince( String since )
339    {
340        this.since = since;
341    } //-- void setSince( String )
342
343    /**
344     * Set the java type for this parameter.
345     * 
346     * @param type a type object.
347     */
348    public void setType( String type )
349    {
350        this.type = type;
351    } //-- void setType( String )
352
353}