package etats;

/**
 * @author S.Lombardy
 * 
 * On precise dans cette enumeration sous quelle forme on veut que chaque
 * constante s'affiche
 */

@Exercice(1)
public enum Humeur {
	CONTENT{
		@Override
		public String toString(){ return "Ça va !!";}

		@Exercice(2)
		@Override
		Humeur travail(){
			return FATIGUE;
		}
	},
	FATIGUE{
		@Override
		public String toString(){ return "Bof";}

		@Exercice(2)
		@Override
		Humeur travail(){
			return EN_COLERE;
		}
	},
	EN_COLERE{
		@Override
		public String toString(){ return "Grrr";}

		@Exercice(2)
		@Override
		Humeur travail() throws AngryException {
			throw new AngryException("Je ne veux pas travailler");
		}
	};
	
	@Exercice(2)
	abstract Humeur travail() throws AngryException;
}
