import java.util.HashSet;

public class Autista extends Dipendente implements Listener {

	// dati

	private HashSet<Autorimessa> autorizzato;
	private int rotture;

	public Autista(String nome) {
		super(nome);
		rotture = 0;
		this.autorizzato = new HashSet<Autorimessa>();
	}

	public int getRotture() {
		return this.rotture;
	}

	public void setRotture(int rotture) {
		this.rotture = rotture;
	}

	public HashSet<Autorimessa> getAutorizzato() {
		if (this.autorizzato.size() == 0)
			throw new RuntimeException("autista non autorizzato a nessuna officina");
		return this.autorizzato;
	}

	public void addAutorizzato(Autorimessa rimessa) {
		this.autorizzato.add(rimessa);
	}

	public void removeAutorizzato(Autorimessa rimessa) {
		this.autorizzato.remove(rimessa);
	}



	// comportamento

	static enum Stato {NORMALE};
	Stato stato = Stato.NORMALE;

	public void fired(Evento e) {
		TaskExecutor.getInstance().perform(new AutistaFired(this, e));
	}
}
