001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.8.3,
003// any modifications will be overwritten.
004// ==============================================================
005
006package org.apache.maven.model;
007
008/**
009 * 
010 *         
011 *         The <code>&lt;CiManagement&gt;</code> element contains
012 * informations required to the
013 *         continuous integration system of the project.
014 *         
015 *       
016 * 
017 * @version $Revision$ $Date$
018 */
019@SuppressWarnings( "all" )
020public class CiManagement
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 name of the continuous integration system,
032     * e.g. <code>continuum</code>.
033     *             
034     *           
035     */
036    private String system;
037
038    /**
039     * URL for the continuous integration system used by the
040     * project if it has a web
041     *             interface.
042     */
043    private String url;
044
045    /**
046     * Field notifiers.
047     */
048    private java.util.List<Notifier> notifiers;
049
050    /**
051     * Field locations.
052     */
053    private java.util.Map<Object, InputLocation> locations;
054
055
056      //-----------/
057     //- Methods -/
058    //-----------/
059
060    /**
061     * Method addNotifier.
062     * 
063     * @param notifier
064     */
065    public void addNotifier( Notifier notifier )
066    {
067        getNotifiers().add( notifier );
068    } //-- void addNotifier( Notifier )
069
070    /**
071     * Method clone.
072     * 
073     * @return CiManagement
074     */
075    public CiManagement clone()
076    {
077        try
078        {
079            CiManagement copy = (CiManagement) super.clone();
080
081            if ( this.notifiers != null )
082            {
083                copy.notifiers = new java.util.ArrayList<Notifier>();
084                for ( Notifier item : this.notifiers )
085                {
086                    copy.notifiers.add( ( (Notifier) item).clone() );
087                }
088            }
089
090            if ( copy.locations != null )
091            {
092                copy.locations = new java.util.LinkedHashMap( copy.locations );
093            }
094
095            return copy;
096        }
097        catch ( java.lang.Exception ex )
098        {
099            throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
100                + " does not support clone()" ).initCause( ex );
101        }
102    } //-- CiManagement clone()
103
104    /**
105     * 
106     * 
107     * @param key
108     * @return InputLocation
109     */
110    public InputLocation getLocation( Object key )
111    {
112        return ( locations != null ) ? locations.get( key ) : null;
113    } //-- InputLocation getLocation( Object )
114
115    /**
116     * Method getNotifiers.
117     * 
118     * @return List
119     */
120    public java.util.List<Notifier> getNotifiers()
121    {
122        if ( this.notifiers == null )
123        {
124            this.notifiers = new java.util.ArrayList<Notifier>();
125        }
126
127        return this.notifiers;
128    } //-- java.util.List<Notifier> getNotifiers()
129
130    /**
131     * Get the name of the continuous integration system, e.g.
132     * <code>continuum</code>.
133     * 
134     * @return String
135     */
136    public String getSystem()
137    {
138        return this.system;
139    } //-- String getSystem()
140
141    /**
142     * Get uRL for the continuous integration system used by the
143     * project if it has a web
144     *             interface.
145     * 
146     * @return String
147     */
148    public String getUrl()
149    {
150        return this.url;
151    } //-- String getUrl()
152
153    /**
154     * Method removeNotifier.
155     * 
156     * @param notifier
157     */
158    public void removeNotifier( Notifier notifier )
159    {
160        getNotifiers().remove( notifier );
161    } //-- void removeNotifier( Notifier )
162
163    /**
164     * 
165     * 
166     * @param key
167     * @param location
168     */
169    public void setLocation( Object key, InputLocation location )
170    {
171        if ( location != null )
172        {
173            if ( this.locations == null )
174            {
175                this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
176            }
177            this.locations.put( key, location );
178        }
179    } //-- void setLocation( Object, InputLocation )
180
181    /**
182     * Set configuration for notifying developers/users when a
183     * build is unsuccessful,
184     *             including user information and notification
185     * mode.
186     * 
187     * @param notifiers
188     */
189    public void setNotifiers( java.util.List<Notifier> notifiers )
190    {
191        this.notifiers = notifiers;
192    } //-- void setNotifiers( java.util.List )
193
194    /**
195     * Set the name of the continuous integration system, e.g.
196     * <code>continuum</code>.
197     * 
198     * @param system
199     */
200    public void setSystem( String system )
201    {
202        this.system = system;
203    } //-- void setSystem( String )
204
205    /**
206     * Set uRL for the continuous integration system used by the
207     * project if it has a web
208     *             interface.
209     * 
210     * @param url
211     */
212    public void setUrl( String url )
213    {
214        this.url = url;
215    } //-- void setUrl( String )
216
217}