package client.model;

/** <u><b>Explication générale de la classe :</b></u>
 * <P>Cette classe permet de créer un triplet d'informations dont on a besoin pour l'application
 *
 * @author Dream Team - ING2
 */
public final class LienProblemeMethodeResultat {

	//Déclaration des variables
    private int[] idTab = new int[3];

    private static final int IDPROBLEME = 0;
    private static final int IDMETHODE = 1;
    private static final int IDRESULTAT = 2;

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode est le constructeur. Il permet de créer un nouveau lien entre le triplet
     * @param idProbleme id du problème
     * @param idMethode id de la méthode
     * @param idResultat id du résultat
     */
    public LienProblemeMethodeResultat(int idProbleme, int idMethode, int idResultat){
        idTab[IDPROBLEME] = idProbleme;
        idTab[IDMETHODE] = idMethode;
        idTab[IDRESULTAT] = idResultat;
    }

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode permet de récupérer l'id d'un problème
     * 
     * @return id du problème
     * 
     */
    public int getIdProbleme(){
        return idTab[IDPROBLEME];
    }

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode permet de récupérer l'id d'une méthode
     * 
     * @return id de la méthode
     * 
     */
    public int getIdMethode(){
        return idTab[IDMETHODE];
    }

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode permet de récupérer l'id d'un résultat
     * 
     * @return id du résultat
     * 
     */
    public int getIdResultat(){
        return idTab[IDRESULTAT];
    }

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode permet de mettre une nouvelle valeur à l'id d'un problème
     * 
     * @param NewIdProbleme du nouveau problème
     * 
     */
    public void setIdProbleme(int NewIdProbleme){
        this.idTab[IDPROBLEME] = NewIdProbleme;
    }

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode permet de mettre une nouvelle valeur à l'id d'une méthode
     * 
     * @param NewIdMethode de la nouvelle méthode
     * 
     */
    public void setIdMethode(int NewIdMethode){
        this.idTab[IDMETHODE] = NewIdMethode;
    }

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode permet de mettre une nouvelle valeur à l'id d'un résultat
     * 
     * @param NewIdResultat du nouveau résultat
     * 
     */
    public void setIdResultat(int NewIdResultat){
        this.idTab[IDRESULTAT] = NewIdResultat;
    }

    /**<u><i>Explication générale de la méthode :</i></u>
     * <P> Cette méthode permet d'afficher le tableau avec les trois triplets
     * 
     * @return le triplet d'informations
     * 
     */
    @Override
    public String toString(){
        return "probleme : "+idTab[IDPROBLEME]+" | methode : "+idTab[IDMETHODE]+" | resultat :"+idTab[IDRESULTAT]+"\n";
    }
}
