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;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" )
020    public 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    }