package fr.iutfbleau.sae;

import java.io.File;

/**
 * Thread pour sauvegarder un fichier PIF en arriere-plan.
 * Permet d'eviter de bloquer l'interface graphique pendant la sauvegarde.
 */
public class ThreadSauvegardePIF extends Thread {
    
    private final ConverterController controleur;
    private final File fichier;
    
    /**
     * Construit un nouveau thread de sauvegarde.
     * 
     * @param controleur le controleur qui gere la sauvegarde
     * @param fichier le fichier dans lequel sauvegarder
     */
    public ThreadSauvegardePIF(ConverterController controleur, File fichier) {
        this.controleur = controleur;
        this.fichier = fichier;
    }
    
    /**
     * Execute la sauvegarde du fichier PIF.
     */
    @Override
    public void run() {
        try {
            controleur.saveAsPIF(fichier.getAbsolutePath());
            GestionErreur.afficherInfo("Fichier sauvegarde avec succes : " + fichier.getName());
        } catch (Exception e) {
            GestionErreur.afficherErreur("Erreur lors de la sauvegarde : " + e.getMessage());
        }
    }
}