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     * 
010     *         
011     *         The <code>&lt;scm&gt;</code> element contains
012     * informations required to the SCM
013     *         (Source Control Management) of the project.
014     *         
015     *       
016     * 
017     * @version $Revision$ $Date$
018     */
019    @SuppressWarnings( "all" )
020    public class Scm
021        implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
022    {
023    
024          //--------------------------/
025         //- Class/Member Variables -/
026        //--------------------------/
027    
028        /**
029         * 
030         *             
031         *             The source control management system URL
032         *             that describes the repository and how to connect
033         * to the
034         *             repository. For more information, see the
035         *             <a
036         * href="http://maven.apache.org/scm/scm-url-format.html">URL
037         * format</a>
038         *             and <a
039         * href="http://maven.apache.org/scm/scms-overview.html">list
040         * of supported SCMs</a>.
041         *             This connection is read-only.
042         *             <br /><b>Default value is</b>: parent value [+
043         * path adjustment] + artifactId
044         *             
045         *           .
046         */
047        private String connection;
048    
049        /**
050         * 
051         *             
052         *             Just like <code>connection</code>, but for
053         * developers, i.e. this scm connection
054         *             will not be read only.
055         *             <br /><b>Default value is</b>: parent value [+
056         * path adjustment] + artifactId
057         *             
058         *           .
059         */
060        private String developerConnection;
061    
062        /**
063         * The tag of current code. By default, it's set to HEAD during
064         * development.
065         */
066        private String tag = "HEAD";
067    
068        /**
069         * 
070         *             
071         *             The URL to the project's browsable SCM
072         * repository, such as ViewVC or Fisheye.
073         *             <br /><b>Default value is</b>: parent value [+
074         * path adjustment] + artifactId
075         *             
076         *           .
077         */
078        private String url;
079    
080        /**
081         * Field locations.
082         */
083        private java.util.Map<Object, InputLocation> locations;
084    
085    
086          //-----------/
087         //- Methods -/
088        //-----------/
089    
090        /**
091         * Method clone.
092         * 
093         * @return Scm
094         */
095        public Scm clone()
096        {
097            try
098            {
099                Scm copy = (Scm) super.clone();
100    
101                if ( copy.locations != null )
102                {
103                    copy.locations = new java.util.LinkedHashMap( copy.locations );
104                }
105    
106                return copy;
107            }
108            catch ( java.lang.Exception ex )
109            {
110                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
111                    + " does not support clone()" ).initCause( ex );
112            }
113        } //-- Scm clone()
114    
115        /**
116         * Get the source control management system URL
117         *             that describes the repository and how to connect
118         * to the
119         *             repository. For more information, see the
120         *             <a
121         * href="http://maven.apache.org/scm/scm-url-format.html">URL
122         * format</a>
123         *             and <a
124         * href="http://maven.apache.org/scm/scms-overview.html">list
125         * of supported SCMs</a>.
126         *             This connection is read-only.
127         *             <br /><b>Default value is</b>: parent value [+
128         * path adjustment] + artifactId.
129         * 
130         * @return String
131         */
132        public String getConnection()
133        {
134            return this.connection;
135        } //-- String getConnection()
136    
137        /**
138         * Get just like <code>connection</code>, but for developers,
139         * i.e. this scm connection
140         *             will not be read only.
141         *             <br /><b>Default value is</b>: parent value [+
142         * path adjustment] + artifactId.
143         * 
144         * @return String
145         */
146        public String getDeveloperConnection()
147        {
148            return this.developerConnection;
149        } //-- String getDeveloperConnection()
150    
151        /**
152         * 
153         * 
154         * @param key
155         * @return InputLocation
156         */
157        public InputLocation getLocation( Object key )
158        {
159            return ( locations != null ) ? locations.get( key ) : null;
160        } //-- InputLocation getLocation( Object )
161    
162        /**
163         * Get the tag of current code. By default, it's set to HEAD
164         * during development.
165         * 
166         * @return String
167         */
168        public String getTag()
169        {
170            return this.tag;
171        } //-- String getTag()
172    
173        /**
174         * Get the URL to the project's browsable SCM repository, such
175         * as ViewVC or Fisheye.
176         *             <br /><b>Default value is</b>: parent value [+
177         * path adjustment] + artifactId.
178         * 
179         * @return String
180         */
181        public String getUrl()
182        {
183            return this.url;
184        } //-- String getUrl()
185    
186        /**
187         * Set the source control management system URL
188         *             that describes the repository and how to connect
189         * to the
190         *             repository. For more information, see the
191         *             <a
192         * href="http://maven.apache.org/scm/scm-url-format.html">URL
193         * format</a>
194         *             and <a
195         * href="http://maven.apache.org/scm/scms-overview.html">list
196         * of supported SCMs</a>.
197         *             This connection is read-only.
198         *             <br /><b>Default value is</b>: parent value [+
199         * path adjustment] + artifactId.
200         * 
201         * @param connection
202         */
203        public void setConnection( String connection )
204        {
205            this.connection = connection;
206        } //-- void setConnection( String )
207    
208        /**
209         * Set just like <code>connection</code>, but for developers,
210         * i.e. this scm connection
211         *             will not be read only.
212         *             <br /><b>Default value is</b>: parent value [+
213         * path adjustment] + artifactId.
214         * 
215         * @param developerConnection
216         */
217        public void setDeveloperConnection( String developerConnection )
218        {
219            this.developerConnection = developerConnection;
220        } //-- void setDeveloperConnection( String )
221    
222        /**
223         * 
224         * 
225         * @param key
226         * @param location
227         */
228        public void setLocation( Object key, InputLocation location )
229        {
230            if ( location != null )
231            {
232                if ( this.locations == null )
233                {
234                    this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
235                }
236                this.locations.put( key, location );
237            }
238        } //-- void setLocation( Object, InputLocation )
239    
240        /**
241         * Set the tag of current code. By default, it's set to HEAD
242         * during development.
243         * 
244         * @param tag
245         */
246        public void setTag( String tag )
247        {
248            this.tag = tag;
249        } //-- void setTag( String )
250    
251        /**
252         * Set the URL to the project's browsable SCM repository, such
253         * as ViewVC or Fisheye.
254         *             <br /><b>Default value is</b>: parent value [+
255         * path adjustment] + artifactId.
256         * 
257         * @param url
258         */
259        public void setUrl( String url )
260        {
261            this.url = url;
262        } //-- void setUrl( String )
263    
264    }