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     *         common base class that contains code to track the source
011     * for
012     *         this instance (USER|GLOBAL)
013     *       .
014     * 
015     * @version $Revision$ $Date$
016     */
017    @SuppressWarnings( "all" )
018    public class TrackableBase
019        implements java.io.Serializable, java.lang.Cloneable
020    {
021    
022          //-----------/
023         //- Methods -/
024        //-----------/
025    
026        /**
027         * Method clone.
028         * 
029         * @return TrackableBase
030         */
031        public TrackableBase clone()
032        {
033            try
034            {
035                TrackableBase copy = (TrackableBase) super.clone();
036    
037                return copy;
038            }
039            catch ( java.lang.Exception ex )
040            {
041                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
042                    + " does not support clone()" ).initCause( ex );
043            }
044        } //-- TrackableBase clone()
045    
046        
047                
048        public static final String USER_LEVEL = "user-level";
049        public static final String GLOBAL_LEVEL = "global-level";
050    
051        private String sourceLevel = USER_LEVEL;
052        private boolean sourceLevelSet = false;
053    
054        public void setSourceLevel( String sourceLevel )
055        {
056            if ( sourceLevelSet )
057            {
058                throw new IllegalStateException( "Cannot reset sourceLevel attribute; it is already set to: " + sourceLevel );
059            }
060            else if ( !( USER_LEVEL.equals( sourceLevel ) || GLOBAL_LEVEL.equals( sourceLevel ) ) )
061            {
062                throw new IllegalArgumentException( "sourceLevel must be one of: {" + USER_LEVEL + "," + GLOBAL_LEVEL + "}" );
063            }
064            else
065            {
066                this.sourceLevel = sourceLevel;
067                this.sourceLevelSet = true;
068            }
069        }
070    
071        public String getSourceLevel()
072        {
073            return sourceLevel;
074        }
075                
076              
077    }