package src.Controller;

import java.util.ArrayList;

/**
* <p>
* Classe permettant de sauvegarder les échanges entre deux utilisateurs
* </p>
*/
public class Historique {
	private Utilisateur User1;
	private Utilisateur User2;
	// Liste conservant les differents échanges 
	private ArrayList<MessageHorodate> HistoriqueHorodate ; 
	
	/**
	* <p>
	* Constructeur : un historique sauvegarde les echanges entre
	* User1 et User2
	* @param User1 - un utilisateur
	* @param User2 - un second utilisateur
	* </p>
	*/
	public Historique(Utilisateur User1, Utilisateur User2) {
		this.User1 = User1;
		this.User2 = User2;
		this.HistoriqueHorodate = new ArrayList<MessageHorodate>();
	}
	
	/**
	* <p>
	* On ajoute un message échangé dans la liste 'HistoriqueHorodate'
	* 
	* @param mh - le message horodate échangé
	* </p>
	*/
	public void addMessage(MessageHorodate mh) {
		this.HistoriqueHorodate.add(mh);
	}

	/**
	* <p>
	* getter pour recuperer le second utilisateur
	* </p>
	*/
	public Utilisateur getUser2() {
		return User2;
	}
	
	public void afficher10derniers() {
		System.out.println("Demarrage de l'affichage partiel de l'historique");
		System.out.println("Il y a actuellement " + HistoriqueHorodate.size() +" elements dans l'historique");
		int n =10;
		if(HistoriqueHorodate.size()<=10) {
			n = HistoriqueHorodate.size();
		}
		for(int i = 0; i<n;i++) {
			String exp = HistoriqueHorodate.get(i).getSource().getPseudo();
			String payload = HistoriqueHorodate.get(i).getMessage();
			System.out.println(exp+" : "+payload);
		}
	}
}
