
public class Cellule {
	private Employe emp;
	private Cellule suivant;

	public Cellule(Employe emp) {
		this.emp = emp;
		this.suivant = null;
	}

	public Cellule(Employe emp, Cellule suiv) {
		this.emp = emp;
		this.suivant = suiv;
	}

	public Employe getEmploye() {
		return this.emp;
	}

	public Cellule getSuivant() {
		return this.suivant;
	}

	public boolean appartient(String n) {
		if(this.emp.getNom().equals(n)) {
			return true;
		}
		if(this.suivant == null) {
			return false;
		}
		return this.suivant.appartient(n);
	}

	public void affiche() {
		this.emp.affiche();
		if(this.suivant != null) {
			this.suivant.affiche();
		}
	}

	public void demission(String n) {
		if(this.suivant != null) {
			if(this.suivant.getEmploye().getNom().equals(n)) {
				this.suivant = this.suivant.suivant;
			}
			else suivant.demission(n);
		}
	}

	public boolean augmente(String nom, int montant) {
		if(this.emp.getNom().equals(nom)) {
			this.emp.setSalaire(this.emp.getSalaire() + montant);
			return true;
		}
		if(this.suivant == null) {
			return false;
		}
		else return this.suivant.augmente(nom, montant);
	}

	public Entreprise choixSalaireRecursive(int min, int max, Entreprise x) {
		if(this.emp.getSalaire() >= min && this.emp.getSalaire() <= max) {
			x.ajout(emp);
		}
		if(this.suivant != null) {
			return suivant.choixSalaireRecursive(min, max, x) ; 
		}
		else return x; 
	}

	public boolean croissante() {
		if(this.suivant == null) {
			return true;
		}
		if(this.emp.getSalaire() > this.suivant.emp.getSalaire()) {
			return false;
		}
		return this.suivant.croissante();
	}

}
