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.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" )
020    public 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    }