package com.ahuntsic.es;

/**
 * LecteurEmployes.java
 * permet de lire et de stocker les données d'un employé dans un Employe
 * Date: 07/10/2005
 * Pour: Mr. Mohammed Salah Bendelloul
 * Projet: Travail pratique #2
 *
 * @author Hassen Ben Tanfous
 */

//imports
import java.io.*;
import java.util.*;
import javax.swing.*;
import com.ahuntsic.tp2.*;

public class LectureEmployes {

    private File fichier;
    private ObjectInputStream lireFichier;
    private Employe employe;

    /**
     * création et ouverture du flux de fichier de lecture
     * @param fichier File
     */
    public LectureEmployes(File fichier) {
        this.fichier = fichier;
        try {
            lireFichier = new ObjectInputStream(new FileInputStream(this.
                    fichier));
        } catch (IOException ex) {
            System.err.println("erreur lors de l'ouverture du fichier " +
                               this.fichier.getName());
        }
    }

    /**
     * fait appel au constructeur File fichier
     * @param nomFichier String
     */
    public LectureEmployes(String nomFichier) {
        this(new File(nomFichier));
    }

    /**
     * lit le contenu d'un fichier et stocke le contenu dans un Employe
     */
    public Employe lireEmploye() {
        try {
            lireFichier = new ObjectInputStream(new
                                                FileInputStream(fichier));
            employe = (Employe) lireFichier.readObject();
        } catch (IOException ex) {
            System.err.println("Erreur durant la lecture du fichier " +
                               fichier.getName());
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
        return employe;
    }

    public Employe getEmploye() {
        return employe;
    }

    public void fermerFlux() {
        try {
            lireFichier.close();
        } catch (IOException ex) {
            System.err.println(
                    "Erreur lors de la fermeture du flux du fichier " +
                    fichier.getName());
        }
    }

    public String getNomFichier() {
        return fichier.getName();
    }

} //Fin de la classe Lecture
