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