1 /*
2 * $Id$
3 */
4
5 package org.apache.maven.model;
6
7 //---------------------------------/
8 //- Imported classes and packages -/
9 //---------------------------------/
10
11 import java.util.Date;
12
13 /**
14 *
15 *
16 * The <code><scm></code> element contains
17 * informations required to the SCM
18 * (Source Control Management) of the project.
19 *
20 *
21 *
22 * @version $Revision$ $Date$
23 */
24 public class Scm implements java.io.Serializable {
25
26
27 //--------------------------/
28 //- Class/Member Variables -/
29 //--------------------------/
30
31 /**
32 *
33 *
34 * The source control management system URL
35 * that describes the repository and how to connect
36 * to the
37 * repository. For more information, see the
38 * <a
39 * href="http://maven.apache.org/scm/scm-url-format.html">URL
40 * format</a>
41 * and <a
42 * href="http://maven.apache.org/scm/scms-overview.html">list
43 * of supported SCMs</a>.
44 * This connection is read-only.
45 *
46 *
47 */
48 private String connection;
49
50 /**
51 *
52 *
53 * Just like <code>connection</code>, but for
54 * developers, i.e. this scm connection
55 * will not be read only.
56 *
57 *
58 */
59 private String developerConnection;
60
61 /**
62 * The tag of current code. By default, it's set to HEAD during
63 * development.
64 */
65 private String tag = "HEAD";
66
67 /**
68 * The URL to the project's browsable SCM repository, such as
69 * ViewVC or Fisheye.
70 */
71 private String url;
72
73
74 //-----------/
75 //- Methods -/
76 //-----------/
77
78 /**
79 * Get
80 *
81 * The source control management system URL
82 * that describes the repository and how to connect
83 * to the
84 * repository. For more information, see the
85 * <a
86 * href="http://maven.apache.org/scm/scm-url-format.html">URL
87 * format</a>
88 * and <a
89 * href="http://maven.apache.org/scm/scms-overview.html">list
90 * of supported SCMs</a>.
91 * This connection is read-only.
92 *
93 *
94 *
95 * @return String
96 */
97 public String getConnection()
98 {
99 return this.connection;
100 } //-- String getConnection()
101
102 /**
103 * Get
104 *
105 * Just like <code>connection</code>, but for
106 * developers, i.e. this scm connection
107 * will not be read only.
108 *
109 *
110 *
111 * @return String
112 */
113 public String getDeveloperConnection()
114 {
115 return this.developerConnection;
116 } //-- String getDeveloperConnection()
117
118 /**
119 * Get the tag of current code. By default, it's set to HEAD
120 * during development.
121 *
122 * @return String
123 */
124 public String getTag()
125 {
126 return this.tag;
127 } //-- String getTag()
128
129 /**
130 * Get the URL to the project's browsable SCM repository, such
131 * as ViewVC or Fisheye.
132 *
133 * @return String
134 */
135 public String getUrl()
136 {
137 return this.url;
138 } //-- String getUrl()
139
140 /**
141 * Set
142 *
143 * The source control management system URL
144 * that describes the repository and how to connect
145 * to the
146 * repository. For more information, see the
147 * <a
148 * href="http://maven.apache.org/scm/scm-url-format.html">URL
149 * format</a>
150 * and <a
151 * href="http://maven.apache.org/scm/scms-overview.html">list
152 * of supported SCMs</a>.
153 * This connection is read-only.
154 *
155 *
156 *
157 * @param connection
158 */
159 public void setConnection( String connection )
160 {
161 this.connection = connection;
162 } //-- void setConnection( String )
163
164 /**
165 * Set
166 *
167 * Just like <code>connection</code>, but for
168 * developers, i.e. this scm connection
169 * will not be read only.
170 *
171 *
172 *
173 * @param developerConnection
174 */
175 public void setDeveloperConnection( String developerConnection )
176 {
177 this.developerConnection = developerConnection;
178 } //-- void setDeveloperConnection( String )
179
180 /**
181 * Set the tag of current code. By default, it's set to HEAD
182 * during development.
183 *
184 * @param tag
185 */
186 public void setTag( String tag )
187 {
188 this.tag = tag;
189 } //-- void setTag( String )
190
191 /**
192 * Set the URL to the project's browsable SCM repository, such
193 * as ViewVC or Fisheye.
194 *
195 * @param url
196 */
197 public void setUrl( String url )
198 {
199 this.url = url;
200 } //-- void setUrl( String )
201
202
203 private String modelEncoding = "UTF-8";
204
205 /**
206 * Set an encoding used for reading/writing the model.
207 *
208 * @param modelEncoding the encoding used when reading/writing the model.
209 */
210 public void setModelEncoding( String modelEncoding )
211 {
212 this.modelEncoding = modelEncoding;
213 }
214
215 /**
216 * @return the current encoding used when reading/writing this model.
217 */
218 public String getModelEncoding()
219 {
220 return modelEncoding;
221 }
222 }