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.settings;
007
008/**
009 * 
010 *         Root element of the user configuration file.
011 *       
012 * 
013 * @version $Revision: 965443 $ $Date: 2015-09-14 22:18:52 +0000 (Mon, 14 Sep 2015) $
014 */
015@SuppressWarnings( "all" )
016public 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          
683}