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 }