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 * This elements describes all that pertains to distribution for a
010 * project. It is
011 * primarily used for deployment of artifacts and the site
012 * produced by the build.
013 *
014 * @version $Revision$ $Date$
015 */
016 @SuppressWarnings( "all" )
017 public class DistributionManagement
018 implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
019 {
020
021 //--------------------------/
022 //- Class/Member Variables -/
023 //--------------------------/
024
025 /**
026 * Information needed to deploy the artifacts generated by the
027 * project to a
028 * remote repository.
029 */
030 private DeploymentRepository repository;
031
032 /**
033 *
034 *
035 * Where to deploy snapshots of artifacts to. If
036 * not given, it defaults to the
037 * <code>repository</code> element.
038 *
039 *
040 */
041 private DeploymentRepository snapshotRepository;
042
043 /**
044 * Information needed for deploying the web site of the project.
045 */
046 private Site site;
047
048 /**
049 *
050 *
051 * The URL of the project's download page. If not
052 * given users will be
053 * referred to the homepage given by
054 * <code>url</code>.
055 * This is given to assist in locating artifacts
056 * that are not in the repository due to
057 * licensing restrictions.
058 *
059 *
060 */
061 private String downloadUrl;
062
063 /**
064 * Relocation information of the artifact if it has been moved
065 * to a new group ID
066 * and/or artifact ID.
067 */
068 private Relocation relocation;
069
070 /**
071 *
072 *
073 * Gives the status of this artifact in the remote
074 * repository.
075 * This must not be set in your local project, as
076 * it is updated by
077 * tools placing it in the reposiory. Valid values
078 * are: <code>none</code> (default),
079 * <code>converted</code> (repository manager
080 * converted this from an Maven 1 POM),
081 * <code>partner</code>
082 * (directly synced from a partner Maven 2
083 * repository), <code>deployed</code> (was deployed from a
084 * Maven 2
085 * instance), <code>verified</code> (has been hand
086 * verified as correct and final).
087 *
088 *
089 */
090 private String status;
091
092 /**
093 * Field locations.
094 */
095 private java.util.Map<Object, InputLocation> locations;
096
097
098 //-----------/
099 //- Methods -/
100 //-----------/
101
102 /**
103 * Method clone.
104 *
105 * @return DistributionManagement
106 */
107 public DistributionManagement clone()
108 {
109 try
110 {
111 DistributionManagement copy = (DistributionManagement) super.clone();
112
113 if ( this.repository != null )
114 {
115 copy.repository = (DeploymentRepository) this.repository.clone();
116 }
117
118 if ( this.snapshotRepository != null )
119 {
120 copy.snapshotRepository = (DeploymentRepository) this.snapshotRepository.clone();
121 }
122
123 if ( this.site != null )
124 {
125 copy.site = (Site) this.site.clone();
126 }
127
128 if ( this.relocation != null )
129 {
130 copy.relocation = (Relocation) this.relocation.clone();
131 }
132
133 if ( copy.locations != null )
134 {
135 copy.locations = new java.util.LinkedHashMap( copy.locations );
136 }
137
138 return copy;
139 }
140 catch ( java.lang.Exception ex )
141 {
142 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
143 + " does not support clone()" ).initCause( ex );
144 }
145 } //-- DistributionManagement clone()
146
147 /**
148 * Get the URL of the project's download page. If not given
149 * users will be
150 * referred to the homepage given by
151 * <code>url</code>.
152 * This is given to assist in locating artifacts
153 * that are not in the repository due to
154 * licensing restrictions.
155 *
156 * @return String
157 */
158 public String getDownloadUrl()
159 {
160 return this.downloadUrl;
161 } //-- String getDownloadUrl()
162
163 /**
164 *
165 *
166 * @param key
167 * @return InputLocation
168 */
169 public InputLocation getLocation( Object key )
170 {
171 return ( locations != null ) ? locations.get( key ) : null;
172 } //-- InputLocation getLocation( Object )
173
174 /**
175 * Get relocation information of the artifact if it has been
176 * moved to a new group ID
177 * and/or artifact ID.
178 *
179 * @return Relocation
180 */
181 public Relocation getRelocation()
182 {
183 return this.relocation;
184 } //-- Relocation getRelocation()
185
186 /**
187 * Get information needed to deploy the artifacts generated by
188 * the project to a
189 * remote repository.
190 *
191 * @return DeploymentRepository
192 */
193 public DeploymentRepository getRepository()
194 {
195 return this.repository;
196 } //-- DeploymentRepository getRepository()
197
198 /**
199 * Get information needed for deploying the web site of the
200 * project.
201 *
202 * @return Site
203 */
204 public Site getSite()
205 {
206 return this.site;
207 } //-- Site getSite()
208
209 /**
210 * Get where to deploy snapshots of artifacts to. If not given,
211 * it defaults to the
212 * <code>repository</code> element.
213 *
214 * @return DeploymentRepository
215 */
216 public DeploymentRepository getSnapshotRepository()
217 {
218 return this.snapshotRepository;
219 } //-- DeploymentRepository getSnapshotRepository()
220
221 /**
222 * Get gives the status of this artifact in the remote
223 * repository.
224 * This must not be set in your local project, as
225 * it is updated by
226 * tools placing it in the reposiory. Valid values
227 * are: <code>none</code> (default),
228 * <code>converted</code> (repository manager
229 * converted this from an Maven 1 POM),
230 * <code>partner</code>
231 * (directly synced from a partner Maven 2
232 * repository), <code>deployed</code> (was deployed from a
233 * Maven 2
234 * instance), <code>verified</code> (has been hand
235 * verified as correct and final).
236 *
237 * @return String
238 */
239 public String getStatus()
240 {
241 return this.status;
242 } //-- String getStatus()
243
244 /**
245 * Set the URL of the project's download page. If not given
246 * users will be
247 * referred to the homepage given by
248 * <code>url</code>.
249 * This is given to assist in locating artifacts
250 * that are not in the repository due to
251 * licensing restrictions.
252 *
253 * @param downloadUrl
254 */
255 public void setDownloadUrl( String downloadUrl )
256 {
257 this.downloadUrl = downloadUrl;
258 } //-- void setDownloadUrl( String )
259
260 /**
261 *
262 *
263 * @param key
264 * @param location
265 */
266 public void setLocation( Object key, InputLocation location )
267 {
268 if ( location != null )
269 {
270 if ( this.locations == null )
271 {
272 this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
273 }
274 this.locations.put( key, location );
275 }
276 } //-- void setLocation( Object, InputLocation )
277
278 /**
279 * Set relocation information of the artifact if it has been
280 * moved to a new group ID
281 * and/or artifact ID.
282 *
283 * @param relocation
284 */
285 public void setRelocation( Relocation relocation )
286 {
287 this.relocation = relocation;
288 } //-- void setRelocation( Relocation )
289
290 /**
291 * Set information needed to deploy the artifacts generated by
292 * the project to a
293 * remote repository.
294 *
295 * @param repository
296 */
297 public void setRepository( DeploymentRepository repository )
298 {
299 this.repository = repository;
300 } //-- void setRepository( DeploymentRepository )
301
302 /**
303 * Set information needed for deploying the web site of the
304 * project.
305 *
306 * @param site
307 */
308 public void setSite( Site site )
309 {
310 this.site = site;
311 } //-- void setSite( Site )
312
313 /**
314 * Set where to deploy snapshots of artifacts to. If not given,
315 * it defaults to the
316 * <code>repository</code> element.
317 *
318 * @param snapshotRepository
319 */
320 public void setSnapshotRepository( DeploymentRepository snapshotRepository )
321 {
322 this.snapshotRepository = snapshotRepository;
323 } //-- void setSnapshotRepository( DeploymentRepository )
324
325 /**
326 * Set gives the status of this artifact in the remote
327 * repository.
328 * This must not be set in your local project, as
329 * it is updated by
330 * tools placing it in the reposiory. Valid values
331 * are: <code>none</code> (default),
332 * <code>converted</code> (repository manager
333 * converted this from an Maven 1 POM),
334 * <code>partner</code>
335 * (directly synced from a partner Maven 2
336 * repository), <code>deployed</code> (was deployed from a
337 * Maven 2
338 * instance), <code>verified</code> (has been hand
339 * verified as correct and final).
340 *
341 * @param status
342 */
343 public void setStatus( String status )
344 {
345 this.status = status;
346 } //-- void setStatus( String )
347
348 }