package com.ahuntsic.outils;

/**
 * Fonction.java
 * contient la date de début de chaque Employe, son titre, le numéro du
 * département dont relève la fonction et le niveau de la fonction.
 * Date: 07/10/2005
 * Pour: Mr. Mohammed Salah Bendelloul
 * Projet: Travail pratique #2
 *
 * @author Hassen Ben Tanfous
 */

import java.io.*;

public class Fonction implements Serializable {

    //critères de validation
    /** critères de validation pour le titre de la fonction */
    public static final int TITRE_TAILLE = 20;

    //les 3 titres de fonctions possible
    public static final String CADRE = "Cadre";
    public static final String BUREAU = "Bureau";
    public static final String PROFESSIONNEL = "Professionnel";

    //date de commencement du travail
    private MaDate dateDebut;

    private String titre; //titre de la fonction

    private int numDpt, //numéro du département
            niveau; //niveau de la fonction entre 1 et 8

    /**
     * configure la fonction de l'employé d'après les paramètres passés
     * @param debut MaDate
     * @param titre String
     * @param numDepartement int
     * @param niveau int
     */
    public Fonction(MaDate debut, String titre, int numDepartement, int niveau) {
        valider(titre);

        dateDebut = debut;
        numDpt = numDepartement;
        this.niveau = niveau;
    }

    /**
     * valide les attributs d'après les critères de validation
     * @param titre String
     */
    private void valider(String titre) {
        if (titre.length() > TITRE_TAILLE) {
            titre = titre.substring(0, TITRE_TAILLE);
        }
        this.titre = titre;
    }

    public MaDate getDateDebut() {
        return dateDebut;
    }

    public String getTitre() {
        return titre;
    }

    public int getNumDepartement() {
        return numDpt;
    }

    public int getNiveau() {
        return niveau;
    }
} //Fin de la classe Fonction
