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     * Contains the information needed for deploying websites.
010     * 
011     * @version $Revision$ $Date$
012     */
013    @SuppressWarnings( "all" )
014    public class Site
015        implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
016    {
017    
018          //--------------------------/
019         //- Class/Member Variables -/
020        //--------------------------/
021    
022        /**
023         * 
024         *             
025         *             A unique identifier for a deployment location.
026         * This is used to match the
027         *             site to configuration in the
028         * <code>settings.xml</code> file, for example.
029         *             
030         *           
031         */
032        private String id;
033    
034        /**
035         * Human readable name of the deployment location.
036         */
037        private String name;
038    
039        /**
040         * 
041         *             
042         *             The url of the location where website is
043         * deployed, in the form <code>protocol://hostname/path</code>.
044         *             <br /><b>Default value is</b>: parent value [+
045         * path adjustment] + artifactId
046         *             
047         *           .
048         */
049        private String url;
050    
051        /**
052         * Field locations.
053         */
054        private java.util.Map<Object, InputLocation> locations;
055    
056    
057          //-----------/
058         //- Methods -/
059        //-----------/
060    
061        /**
062         * Method clone.
063         * 
064         * @return Site
065         */
066        public Site clone()
067        {
068            try
069            {
070                Site copy = (Site) super.clone();
071    
072                if ( copy.locations != null )
073                {
074                    copy.locations = new java.util.LinkedHashMap( copy.locations );
075                }
076    
077                return copy;
078            }
079            catch ( java.lang.Exception ex )
080            {
081                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
082                    + " does not support clone()" ).initCause( ex );
083            }
084        } //-- Site clone()
085    
086        /**
087         * Get a unique identifier for a deployment location. This is
088         * used to match the
089         *             site to configuration in the
090         * <code>settings.xml</code> file, for example.
091         * 
092         * @return String
093         */
094        public String getId()
095        {
096            return this.id;
097        } //-- String getId()
098    
099        /**
100         * 
101         * 
102         * @param key
103         * @return InputLocation
104         */
105        public InputLocation getLocation( Object key )
106        {
107            return ( locations != null ) ? locations.get( key ) : null;
108        } //-- InputLocation getLocation( Object )
109    
110        /**
111         * Get human readable name of the deployment location.
112         * 
113         * @return String
114         */
115        public String getName()
116        {
117            return this.name;
118        } //-- String getName()
119    
120        /**
121         * Get the url of the location where website is deployed, in
122         * the form <code>protocol://hostname/path</code>.
123         *             <br /><b>Default value is</b>: parent value [+
124         * path adjustment] + artifactId.
125         * 
126         * @return String
127         */
128        public String getUrl()
129        {
130            return this.url;
131        } //-- String getUrl()
132    
133        /**
134         * Set a unique identifier for a deployment location. This is
135         * used to match the
136         *             site to configuration in the
137         * <code>settings.xml</code> file, for example.
138         * 
139         * @param id
140         */
141        public void setId( String id )
142        {
143            this.id = id;
144        } //-- void setId( String )
145    
146        /**
147         * 
148         * 
149         * @param key
150         * @param location
151         */
152        public void setLocation( Object key, InputLocation location )
153        {
154            if ( location != null )
155            {
156                if ( this.locations == null )
157                {
158                    this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
159                }
160                this.locations.put( key, location );
161            }
162        } //-- void setLocation( Object, InputLocation )
163    
164        /**
165         * Set human readable name of the deployment location.
166         * 
167         * @param name
168         */
169        public void setName( String name )
170        {
171            this.name = name;
172        } //-- void setName( String )
173    
174        /**
175         * Set the url of the location where website is deployed, in
176         * the form <code>protocol://hostname/path</code>.
177         *             <br /><b>Default value is</b>: parent value [+
178         * path adjustment] + artifactId.
179         * 
180         * @param url
181         */
182        public void setUrl( String url )
183        {
184            this.url = url;
185        } //-- void setUrl( String )
186    
187    }