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     * Modifications to the build process which is activated based on
010     * environmental
011     *         parameters or command line arguments.
012     * 
013     * @version $Revision$ $Date$
014     */
015    @SuppressWarnings( "all" )
016    public class Profile
017        extends ModelBase
018        implements java.io.Serializable, java.lang.Cloneable
019    {
020    
021          //--------------------------/
022         //- Class/Member Variables -/
023        //--------------------------/
024    
025        /**
026         * The identifier of this build profile. This is used for
027         * command line
028         *             activation, and identifies profiles to be
029         * merged.
030         *           
031         */
032        private String id = "default";
033    
034        /**
035         * The conditional logic which will automatically trigger the
036         * inclusion of this
037         *             profile.
038         */
039        private Activation activation;
040    
041        /**
042         * Information required to build the project.
043         */
044        private BuildBase build;
045    
046    
047          //-----------/
048         //- Methods -/
049        //-----------/
050    
051        /**
052         * Method clone.
053         * 
054         * @return Profile
055         */
056        public Profile clone()
057        {
058            try
059            {
060                Profile copy = (Profile) super.clone();
061    
062                if ( this.activation != null )
063                {
064                    copy.activation = (Activation) this.activation.clone();
065                }
066    
067                if ( this.build != null )
068                {
069                    copy.build = (BuildBase) this.build.clone();
070                }
071    
072                return copy;
073            }
074            catch ( java.lang.Exception ex )
075            {
076                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
077                    + " does not support clone()" ).initCause( ex );
078            }
079        } //-- Profile clone()
080    
081        /**
082         * Get the conditional logic which will automatically trigger
083         * the inclusion of this
084         *             profile.
085         * 
086         * @return Activation
087         */
088        public Activation getActivation()
089        {
090            return this.activation;
091        } //-- Activation getActivation()
092    
093        /**
094         * Get information required to build the project.
095         * 
096         * @return BuildBase
097         */
098        public BuildBase getBuild()
099        {
100            return this.build;
101        } //-- BuildBase getBuild()
102    
103        /**
104         * Get the identifier of this build profile. This is used for
105         * command line
106         *             activation, and identifies profiles to be
107         * merged.
108         * 
109         * @return String
110         */
111        public String getId()
112        {
113            return this.id;
114        } //-- String getId()
115    
116        /**
117         * Set the conditional logic which will automatically trigger
118         * the inclusion of this
119         *             profile.
120         * 
121         * @param activation
122         */
123        public void setActivation( Activation activation )
124        {
125            this.activation = activation;
126        } //-- void setActivation( Activation )
127    
128        /**
129         * Set information required to build the project.
130         * 
131         * @param build
132         */
133        public void setBuild( BuildBase build )
134        {
135            this.build = build;
136        } //-- void setBuild( BuildBase )
137    
138        /**
139         * Set the identifier of this build profile. This is used for
140         * command line
141         *             activation, and identifies profiles to be
142         * merged.
143         * 
144         * @param id
145         */
146        public void setId( String id )
147        {
148            this.id = id;
149        } //-- void setId( String )
150    
151        
152                
153        public static final String SOURCE_POM = "pom";
154    
155        public static final String SOURCE_SETTINGS = "settings.xml";
156    
157        // We don't want this to be parseable...it's sort of 'hidden'
158        // default source for this profile is in the pom itself.
159        private String source = SOURCE_POM;
160    
161        public void setSource( String source )
162        {
163            this.source = source;
164        }
165    
166        public String getSource()
167        {
168            return source;
169        }
170    
171        /**
172         * @see java.lang.Object#toString()
173         */
174        public String toString()
175        {
176            return "Profile {id: " + getId() + ", source: " + getSource() + "}";
177        }
178                
179              
180    }