001// =================== DO NOT EDIT THIS FILE ==================== 002// Generated by Modello 1.8.1, 003// any modifications will be overwritten. 004// ============================================================== 005 006package org.apache.maven.toolchain.model; 007 008/** 009 * 010 * common base class that contains code to track the 011 * source for 012 * this instance (USER|GLOBAL) 013 * . 014 * 015 * @version $Revision$ $Date$ 016 */ 017@SuppressWarnings( "all" ) 018public 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}