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