001    /*
002     =================== DO NOT EDIT THIS FILE ====================
003     Generated by Modello 1.4.1 on 2012-01-20 18:15:43,
004     any modifications will be overwritten.
005     ==============================================================
006     */
007    
008    package org.apache.maven.settings;
009    
010    /**
011     * 
012     *         common base class that contains code to track the source
013     * for
014     *         this instance (USER|GLOBAL)
015     *       .
016     * 
017     * @version $Revision$ $Date$
018     */
019    @SuppressWarnings( "all" )
020    public class TrackableBase
021        implements java.io.Serializable, java.lang.Cloneable
022    {
023    
024          //-----------/
025         //- Methods -/
026        //-----------/
027    
028        /**
029         * Method clone.
030         * 
031         * @return TrackableBase
032         */
033        public TrackableBase clone()
034        {
035            try
036            {
037                TrackableBase copy = (TrackableBase) super.clone();
038    
039                return copy;
040            }
041            catch ( java.lang.Exception ex )
042            {
043                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
044                    + " does not support clone()" ).initCause( ex );
045            }
046        } //-- TrackableBase clone()
047    
048        
049                
050        public static final String USER_LEVEL = "user-level";
051        public static final String GLOBAL_LEVEL = "global-level";
052    
053        private String sourceLevel = USER_LEVEL;
054        private boolean sourceLevelSet = false;
055    
056        public void setSourceLevel( String sourceLevel )
057        {
058            if ( sourceLevelSet )
059            {
060                throw new IllegalStateException( "Cannot reset sourceLevel attribute; it is already set to: " + sourceLevel );
061            }
062            else if ( !( USER_LEVEL.equals( sourceLevel ) || GLOBAL_LEVEL.equals( sourceLevel ) ) )
063            {
064                throw new IllegalArgumentException( "sourceLevel must be one of: {" + USER_LEVEL + "," + GLOBAL_LEVEL + "}" );
065            }
066            else
067            {
068                this.sourceLevel = sourceLevel;
069                this.sourceLevelSet = true;
070            }
071        }
072    
073        public String getSourceLevel()
074        {
075            return sourceLevel;
076        }
077                
078              
079    }