
import java.util.ArrayList;


public class Itineraire implements Payant{

	private ArrayList<Trajet> liste;
	public Itineraire() {
		this.liste = new ArrayList<Trajet>();
	}

	public ArrayList<Trajet> getListe() {
		return liste;
	}

	public boolean add(Trajet t){
		if(liste.isEmpty()){  // si la liste est vide je peux ajouter un trajet
			liste.add(t);
			return true;
		}
		else if(liste.get(liste.size()-1).getDestination() == t.getOrigine()){ // si elle n'est pas vide et que la destination du dernier element de la liste est egal a l'origine du trajet a ajouter alors c'est bon
			liste.add(t);
			return true;
		}
		else return false; // si non alors on ajoute pas

	}

	@Override
	public double calculerCout() {
		double coutTotal = 0;

		if(!liste.isEmpty()){ // si la liste n'est pas vide je calcul le cout, sinon je renvoie directement le cout initialise a 0
			for(int i = 0; i<liste.size(); i++){ // je parcours la liste
				coutTotal = coutTotal + liste.get(i).calculerCout(); // j'ajoute le prix de chaque trajet au prix total de l'itineraire
			}
		}
		return coutTotal;
	}

	public String toString(){
		String result = "";
		if(!liste.isEmpty()){
			for (int i = 0; i<liste.size(); i++){
				result = result +"\n"+ liste.get(i).toString();
			}
		}
		return result;
	}
}
