001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.8.3,
003// any modifications will be overwritten.
004// ==============================================================
005
006package org.apache.maven.model;
007
008/**
009 * Describes the licenses for this project. This is used to
010 * generate the license
011 *         page of the project's web site, as well as being taken
012 * into consideration in other reporting
013 *         and validation. The licenses listed for the project are
014 * that of the project itself, and not
015 *         of dependencies.
016 * 
017 * @version $Revision$ $Date$
018 */
019@SuppressWarnings( "all" )
020public class License
021    implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
022{
023
024      //--------------------------/
025     //- Class/Member Variables -/
026    //--------------------------/
027
028    /**
029     * The full legal name of the license.
030     */
031    private String name;
032
033    /**
034     * The official url for the license text.
035     */
036    private String url;
037
038    /**
039     * 
040     *             
041     *             The primary method by which this project may be
042     * distributed.
043     *             <dl>
044     *               <dt>repo</dt>
045     *               <dd>may be downloaded from the Maven
046     * repository</dd>
047     *               <dt>manual</dt>
048     *               <dd>user must manually download and install
049     * the dependency.</dd>
050     *             </dl>
051     *             
052     *           
053     */
054    private String distribution;
055
056    /**
057     * Addendum information pertaining to this license.
058     */
059    private String comments;
060
061    /**
062     * Field locations.
063     */
064    private java.util.Map<Object, InputLocation> locations;
065
066
067      //-----------/
068     //- Methods -/
069    //-----------/
070
071    /**
072     * Method clone.
073     * 
074     * @return License
075     */
076    public License clone()
077    {
078        try
079        {
080            License copy = (License) super.clone();
081
082            if ( copy.locations != null )
083            {
084                copy.locations = new java.util.LinkedHashMap( copy.locations );
085            }
086
087            return copy;
088        }
089        catch ( java.lang.Exception ex )
090        {
091            throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
092                + " does not support clone()" ).initCause( ex );
093        }
094    } //-- License clone()
095
096    /**
097     * Get addendum information pertaining to this license.
098     * 
099     * @return String
100     */
101    public String getComments()
102    {
103        return this.comments;
104    } //-- String getComments()
105
106    /**
107     * Get the primary method by which this project may be
108     * distributed.
109     *             <dl>
110     *               <dt>repo</dt>
111     *               <dd>may be downloaded from the Maven
112     * repository</dd>
113     *               <dt>manual</dt>
114     *               <dd>user must manually download and install
115     * the dependency.</dd>
116     *             </dl>
117     * 
118     * @return String
119     */
120    public String getDistribution()
121    {
122        return this.distribution;
123    } //-- String getDistribution()
124
125    /**
126     * 
127     * 
128     * @param key
129     * @return InputLocation
130     */
131    public InputLocation getLocation( Object key )
132    {
133        return ( locations != null ) ? locations.get( key ) : null;
134    } //-- InputLocation getLocation( Object )
135
136    /**
137     * Get the full legal name of the license.
138     * 
139     * @return String
140     */
141    public String getName()
142    {
143        return this.name;
144    } //-- String getName()
145
146    /**
147     * Get the official url for the license text.
148     * 
149     * @return String
150     */
151    public String getUrl()
152    {
153        return this.url;
154    } //-- String getUrl()
155
156    /**
157     * Set addendum information pertaining to this license.
158     * 
159     * @param comments
160     */
161    public void setComments( String comments )
162    {
163        this.comments = comments;
164    } //-- void setComments( String )
165
166    /**
167     * Set the primary method by which this project may be
168     * distributed.
169     *             <dl>
170     *               <dt>repo</dt>
171     *               <dd>may be downloaded from the Maven
172     * repository</dd>
173     *               <dt>manual</dt>
174     *               <dd>user must manually download and install
175     * the dependency.</dd>
176     *             </dl>
177     * 
178     * @param distribution
179     */
180    public void setDistribution( String distribution )
181    {
182        this.distribution = distribution;
183    } //-- void setDistribution( String )
184
185    /**
186     * 
187     * 
188     * @param key
189     * @param location
190     */
191    public void setLocation( Object key, InputLocation location )
192    {
193        if ( location != null )
194        {
195            if ( this.locations == null )
196            {
197                this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
198            }
199            this.locations.put( key, location );
200        }
201    } //-- void setLocation( Object, InputLocation )
202
203    /**
204     * Set the full legal name of the license.
205     * 
206     * @param name
207     */
208    public void setName( String name )
209    {
210        this.name = name;
211    } //-- void setName( String )
212
213    /**
214     * Set the official url for the license text.
215     * 
216     * @param url
217     */
218    public void setUrl( String url )
219    {
220        this.url = url;
221    } //-- void setUrl( String )
222
223}