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.settings;
007    
008    /**
009     * 
010     *         Root element of the user configuration file.
011     *       
012     * 
013     * @version $Revision$ $Date$
014     */
015    @SuppressWarnings( "all" )
016    public class Settings
017        extends TrackableBase
018        implements java.io.Serializable, java.lang.Cloneable
019    {
020    
021          //--------------------------/
022         //- Class/Member Variables -/
023        //--------------------------/
024    
025        /**
026         * 
027         *             
028         *             The local repository.<br /><b>Default value
029         * is:</b> <tt>${user.home}/.m2/repository</tt>
030         *             
031         *           
032         */
033        private String localRepository;
034    
035        /**
036         * 
037         *             
038         *             Whether Maven should attempt to interact with
039         * the user for input.
040         *             
041         *           
042         */
043        private boolean interactiveMode = true;
044    
045        /**
046         * 
047         *             
048         *             Whether Maven should use the plugin-registry.xml
049         * file to manage plugin versions.
050         *             
051         *           
052         */
053        private boolean usePluginRegistry = false;
054    
055        /**
056         * 
057         *             
058         *             Indicate whether maven should operate in offline
059         * mode full-time.
060         *             
061         *           
062         */
063        private boolean offline = false;
064    
065        /**
066         * Field proxies.
067         */
068        private java.util.List<Proxy> proxies;
069    
070        /**
071         * Field servers.
072         */
073        private java.util.List<Server> servers;
074    
075        /**
076         * Field mirrors.
077         */
078        private java.util.List<Mirror> mirrors;
079    
080        /**
081         * Field profiles.
082         */
083        private java.util.List<Profile> profiles;
084    
085        /**
086         * Field activeProfiles.
087         */
088        private java.util.List<String> activeProfiles;
089    
090        /**
091         * Field pluginGroups.
092         */
093        private java.util.List<String> pluginGroups;
094    
095        /**
096         * Field modelEncoding.
097         */
098        private String modelEncoding = "UTF-8";
099    
100    
101          //-----------/
102         //- Methods -/
103        //-----------/
104    
105        /**
106         * Method addActiveProfile.
107         * 
108         * @param string
109         */
110        public void addActiveProfile( String string )
111        {
112            getActiveProfiles().add( string );
113        } //-- void addActiveProfile( String )
114    
115        /**
116         * Method addMirror.
117         * 
118         * @param mirror
119         */
120        public void addMirror( Mirror mirror )
121        {
122            getMirrors().add( mirror );
123        } //-- void addMirror( Mirror )
124    
125        /**
126         * Method addPluginGroup.
127         * 
128         * @param string
129         */
130        public void addPluginGroup( String string )
131        {
132            getPluginGroups().add( string );
133        } //-- void addPluginGroup( String )
134    
135        /**
136         * Method addProfile.
137         * 
138         * @param profile
139         */
140        public void addProfile( Profile profile )
141        {
142            getProfiles().add( profile );
143        } //-- void addProfile( Profile )
144    
145        /**
146         * Method addProxy.
147         * 
148         * @param proxy
149         */
150        public void addProxy( Proxy proxy )
151        {
152            getProxies().add( proxy );
153        } //-- void addProxy( Proxy )
154    
155        /**
156         * Method addServer.
157         * 
158         * @param server
159         */
160        public void addServer( Server server )
161        {
162            getServers().add( server );
163        } //-- void addServer( Server )
164    
165        /**
166         * Method clone.
167         * 
168         * @return Settings
169         */
170        public Settings clone()
171        {
172            try
173            {
174                Settings copy = (Settings) super.clone();
175    
176                if ( this.proxies != null )
177                {
178                    copy.proxies = new java.util.ArrayList<Proxy>();
179                    for ( Proxy item : this.proxies )
180                    {
181                        copy.proxies.add( ( (Proxy) item).clone() );
182                    }
183                }
184    
185                if ( this.servers != null )
186                {
187                    copy.servers = new java.util.ArrayList<Server>();
188                    for ( Server item : this.servers )
189                    {
190                        copy.servers.add( ( (Server) item).clone() );
191                    }
192                }
193    
194                if ( this.mirrors != null )
195                {
196                    copy.mirrors = new java.util.ArrayList<Mirror>();
197                    for ( Mirror item : this.mirrors )
198                    {
199                        copy.mirrors.add( ( (Mirror) item).clone() );
200                    }
201                }
202    
203                if ( this.profiles != null )
204                {
205                    copy.profiles = new java.util.ArrayList<Profile>();
206                    for ( Profile item : this.profiles )
207                    {
208                        copy.profiles.add( ( (Profile) item).clone() );
209                    }
210                }
211    
212                if ( this.activeProfiles != null )
213                {
214                    copy.activeProfiles = new java.util.ArrayList<String>();
215                    copy.activeProfiles.addAll( this.activeProfiles );
216                }
217    
218                if ( this.pluginGroups != null )
219                {
220                    copy.pluginGroups = new java.util.ArrayList<String>();
221                    copy.pluginGroups.addAll( this.pluginGroups );
222                }
223    
224                return copy;
225            }
226            catch ( java.lang.Exception ex )
227            {
228                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
229                    + " does not support clone()" ).initCause( ex );
230            }
231        } //-- Settings clone()
232    
233        /**
234         * Method getActiveProfiles.
235         * 
236         * @return List
237         */
238        public java.util.List<String> getActiveProfiles()
239        {
240            if ( this.activeProfiles == null )
241            {
242                this.activeProfiles = new java.util.ArrayList<String>();
243            }
244    
245            return this.activeProfiles;
246        } //-- java.util.List<String> getActiveProfiles()
247    
248        /**
249         * Get the local repository.<br /><b>Default value is:</b>
250         * <tt>${user.home}/.m2/repository</tt>
251         * 
252         * @return String
253         */
254        public String getLocalRepository()
255        {
256            return this.localRepository;
257        } //-- String getLocalRepository()
258    
259        /**
260         * Method getMirrors.
261         * 
262         * @return List
263         */
264        public java.util.List<Mirror> getMirrors()
265        {
266            if ( this.mirrors == null )
267            {
268                this.mirrors = new java.util.ArrayList<Mirror>();
269            }
270    
271            return this.mirrors;
272        } //-- java.util.List<Mirror> getMirrors()
273    
274        /**
275         * Get the modelEncoding field.
276         * 
277         * @return String
278         */
279        public String getModelEncoding()
280        {
281            return this.modelEncoding;
282        } //-- String getModelEncoding()
283    
284        /**
285         * Method getPluginGroups.
286         * 
287         * @return List
288         */
289        public java.util.List<String> getPluginGroups()
290        {
291            if ( this.pluginGroups == null )
292            {
293                this.pluginGroups = new java.util.ArrayList<String>();
294            }
295    
296            return this.pluginGroups;
297        } //-- java.util.List<String> getPluginGroups()
298    
299        /**
300         * Method getProfiles.
301         * 
302         * @return List
303         */
304        public java.util.List<Profile> getProfiles()
305        {
306            if ( this.profiles == null )
307            {
308                this.profiles = new java.util.ArrayList<Profile>();
309            }
310    
311            return this.profiles;
312        } //-- java.util.List<Profile> getProfiles()
313    
314        /**
315         * Method getProxies.
316         * 
317         * @return List
318         */
319        public java.util.List<Proxy> getProxies()
320        {
321            if ( this.proxies == null )
322            {
323                this.proxies = new java.util.ArrayList<Proxy>();
324            }
325    
326            return this.proxies;
327        } //-- java.util.List<Proxy> getProxies()
328    
329        /**
330         * Method getServers.
331         * 
332         * @return List
333         */
334        public java.util.List<Server> getServers()
335        {
336            if ( this.servers == null )
337            {
338                this.servers = new java.util.ArrayList<Server>();
339            }
340    
341            return this.servers;
342        } //-- java.util.List<Server> getServers()
343    
344        /**
345         * Get whether Maven should attempt to interact with the user
346         * for input.
347         * 
348         * @return boolean
349         */
350        public boolean isInteractiveMode()
351        {
352            return this.interactiveMode;
353        } //-- boolean isInteractiveMode()
354    
355        /**
356         * Get indicate whether maven should operate in offline mode
357         * full-time.
358         * 
359         * @return boolean
360         */
361        public boolean isOffline()
362        {
363            return this.offline;
364        } //-- boolean isOffline()
365    
366        /**
367         * Get whether Maven should use the plugin-registry.xml file to
368         * manage plugin versions.
369         * 
370         * @return boolean
371         */
372        public boolean isUsePluginRegistry()
373        {
374            return this.usePluginRegistry;
375        } //-- boolean isUsePluginRegistry()
376    
377        /**
378         * Method removeActiveProfile.
379         * 
380         * @param string
381         */
382        public void removeActiveProfile( String string )
383        {
384            getActiveProfiles().remove( string );
385        } //-- void removeActiveProfile( String )
386    
387        /**
388         * Method removeMirror.
389         * 
390         * @param mirror
391         */
392        public void removeMirror( Mirror mirror )
393        {
394            getMirrors().remove( mirror );
395        } //-- void removeMirror( Mirror )
396    
397        /**
398         * Method removePluginGroup.
399         * 
400         * @param string
401         */
402        public void removePluginGroup( String string )
403        {
404            getPluginGroups().remove( string );
405        } //-- void removePluginGroup( String )
406    
407        /**
408         * Method removeProfile.
409         * 
410         * @param profile
411         */
412        public void removeProfile( Profile profile )
413        {
414            getProfiles().remove( profile );
415        } //-- void removeProfile( Profile )
416    
417        /**
418         * Method removeProxy.
419         * 
420         * @param proxy
421         */
422        public void removeProxy( Proxy proxy )
423        {
424            getProxies().remove( proxy );
425        } //-- void removeProxy( Proxy )
426    
427        /**
428         * Method removeServer.
429         * 
430         * @param server
431         */
432        public void removeServer( Server server )
433        {
434            getServers().remove( server );
435        } //-- void removeServer( Server )
436    
437        /**
438         * Set list of manually-activated build profiles, specified in
439         * the order in which
440         *             they should be applied.
441         * 
442         * @param activeProfiles
443         */
444        public void setActiveProfiles( java.util.List<String> activeProfiles )
445        {
446            this.activeProfiles = activeProfiles;
447        } //-- void setActiveProfiles( java.util.List )
448    
449        /**
450         * Set whether Maven should attempt to interact with the user
451         * for input.
452         * 
453         * @param interactiveMode
454         */
455        public void setInteractiveMode( boolean interactiveMode )
456        {
457            this.interactiveMode = interactiveMode;
458        } //-- void setInteractiveMode( boolean )
459    
460        /**
461         * Set the local repository.<br /><b>Default value is:</b>
462         * <tt>${user.home}/.m2/repository</tt>
463         * 
464         * @param localRepository
465         */
466        public void setLocalRepository( String localRepository )
467        {
468            this.localRepository = localRepository;
469        } //-- void setLocalRepository( String )
470    
471        /**
472         * Set configuration of download mirrors for repositories.
473         * 
474         * @param mirrors
475         */
476        public void setMirrors( java.util.List<Mirror> mirrors )
477        {
478            this.mirrors = mirrors;
479        } //-- void setMirrors( java.util.List )
480    
481        /**
482         * Set the modelEncoding field.
483         * 
484         * @param modelEncoding
485         */
486        public void setModelEncoding( String modelEncoding )
487        {
488            this.modelEncoding = modelEncoding;
489        } //-- void setModelEncoding( String )
490    
491        /**
492         * Set indicate whether maven should operate in offline mode
493         * full-time.
494         * 
495         * @param offline
496         */
497        public void setOffline( boolean offline )
498        {
499            this.offline = offline;
500        } //-- void setOffline( boolean )
501    
502        /**
503         * Set list of groupIds to search for a plugin when that plugin
504         *             groupId is not explicitly provided.
505         * 
506         * @param pluginGroups
507         */
508        public void setPluginGroups( java.util.List<String> pluginGroups )
509        {
510            this.pluginGroups = pluginGroups;
511        } //-- void setPluginGroups( java.util.List )
512    
513        /**
514         * Set configuration of build profiles for adjusting the build
515         *             according to environmental parameters.
516         * 
517         * @param profiles
518         */
519        public void setProfiles( java.util.List<Profile> profiles )
520        {
521            this.profiles = profiles;
522        } //-- void setProfiles( java.util.List )
523    
524        /**
525         * Set configuration for different proxy profiles. Multiple
526         * proxy profiles
527         *             might come in handy for anyone working from a
528         * notebook or other
529         *             mobile platform, to enable easy switching of
530         * entire proxy
531         *             configurations by simply specifying the profile
532         * id, again either from
533         *             the command line or from the defaults section
534         * below.
535         * 
536         * @param proxies
537         */
538        public void setProxies( java.util.List<Proxy> proxies )
539        {
540            this.proxies = proxies;
541        } //-- void setProxies( java.util.List )
542    
543        /**
544         * Set configuration of server-specific settings, mainly
545         * authentication
546         *             method. This allows configuration of
547         * authentication on a per-server
548         *             basis.
549         * 
550         * @param servers
551         */
552        public void setServers( java.util.List<Server> servers )
553        {
554            this.servers = servers;
555        } //-- void setServers( java.util.List )
556    
557        /**
558         * Set whether Maven should use the plugin-registry.xml file to
559         * manage plugin versions.
560         * 
561         * @param usePluginRegistry
562         */
563        public void setUsePluginRegistry( boolean usePluginRegistry )
564        {
565            this.usePluginRegistry = usePluginRegistry;
566        } //-- void setUsePluginRegistry( boolean )
567    
568        
569                
570        public Boolean getInteractiveMode()
571        {
572            return Boolean.valueOf( isInteractiveMode() );
573        }
574    
575        private Proxy activeProxy;
576    
577        /**
578         * Reset the <code>activeProxy</code> field to <code>null</code>
579         */
580        public void flushActiveProxy()
581        {
582            this.activeProxy = null;
583        }
584    
585        /**
586         * @return the first active proxy
587         */
588        public synchronized Proxy getActiveProxy()
589        {
590            if ( activeProxy == null )
591            {
592                java.util.List<Proxy> proxies = getProxies();
593                if ( proxies != null && !proxies.isEmpty() )
594                {
595                    for ( Proxy proxy : proxies )
596                    {
597                        if ( proxy.isActive() )
598                        {
599                            activeProxy = proxy;
600                            break;
601                        }
602                    }
603                }
604            }
605    
606            return activeProxy;
607        }
608    
609        public Server getServer( String serverId )
610        {
611            Server match = null;
612    
613            java.util.List<Server> servers = getServers();
614            if ( servers != null && serverId != null )
615            {
616                for ( Server server : servers )
617                {
618                    if ( serverId.equals( server.getId() ) )
619                    {
620                        match = server;
621                        break;
622                    }
623                }
624            }
625    
626            return match;
627        }
628    
629        @Deprecated
630        public Mirror getMirrorOf( String repositoryId )
631        {
632            Mirror match = null;
633    
634            java.util.List<Mirror> mirrors = getMirrors();
635            if ( mirrors != null && repositoryId != null )
636            {
637                for ( Mirror mirror : mirrors )
638                {
639                    if ( repositoryId.equals( mirror.getMirrorOf() ) )
640                    {
641                        match = mirror;
642                        break;
643                    }
644                }
645            }
646    
647            return match;
648        }
649    
650        private java.util.Map<String, Profile> profileMap;
651    
652        /**
653         * Reset the <code>profileMap</code> field to <code>null</code>
654         */
655        public void flushProfileMap()
656        {
657            this.profileMap = null;
658        }
659    
660        /**
661         * @return a Map of profiles field with <code>Profile#getId()</code> as key
662         * @see org.apache.maven.settings.Profile#getId()
663         */
664        public java.util.Map<String, Profile> getProfilesAsMap()
665        {
666            if ( profileMap == null )
667            {
668                profileMap = new java.util.LinkedHashMap<String, Profile>();
669    
670                if ( getProfiles() != null )
671                {
672                    for ( Profile profile : getProfiles() )
673                    {
674                        profileMap.put( profile.getId(), profile );
675                    }
676                }
677            }
678    
679            return profileMap;
680        }
681    
682        //[MNG-3954] :: this is required for the release plugin
683    
684        private RuntimeInfo runtimeInfo;
685    
686        @Deprecated
687        public void setRuntimeInfo( RuntimeInfo runtimeInfo )
688        {
689            this.runtimeInfo = runtimeInfo;
690        }
691    
692        @Deprecated
693        public RuntimeInfo getRuntimeInfo()
694        {
695            if ( runtimeInfo == null )
696            {
697                runtimeInfo = new RuntimeInfo();
698            }
699            return runtimeInfo;
700        }
701                
702              
703    }