package etats;

import java.util.HashMap;

@Exercice(1)
public class Travailleur {
	private Humeur hm;
	private static HashMap<Humeur,Travailleur> map = new HashMap<Humeur, Travailleur>();
	
	
	private Travailleur(Humeur hm){
		this.hm = hm;
	}
	
	@Exercice(3)
	public static Travailleur getTravailleur(Humeur hm){
		Travailleur t=map.get(hm);
		if ( t== null){
			t= new Travailleur(hm);
			map.put(hm,t);
		}
		return t;
	}
	
	@Exercice(3)
	public Travailleur travail() throws AngryException{
		/* Exo 1
		switch(hm){
		case CONTENT: hm=Humeur.FATIGUE; break;
		case FATIGUE: hm=Humeur.EN_COLERE; break;
		case EN_COLERE: throw new AngryException("Je ne veux pas travailler");
		}
		*/
		/* Exo2
		  hm =hm.travail();
		  return this
		*/
		return getTravailleur(hm.travail());
	}
	
	public void repos(){
		hm=Humeur.CONTENT;
	}
	
	public void nouvelles(){
		System.out.println(hm);
	}	
	
}
