/*
 * 
 */
package mesObjets;


// TODO: Auto-generated Javadoc
/**
 * The Class Salarie.
 */
public class Salarie implements Comparable<Salarie>{
       
       /** The salaire. */
       private int salaire;
       
       /** The name. */
       private String name;
       
       /** The entreprise. */
       private String entreprise;

       /**
        * The Constructor.
        * 
        * @param nom the nom
        * @param entreprise the entreprise
        * @param salaire the salaire
        */
       public Salarie(String nom, String entreprise, int salaire) {
              this.salaire=salaire;
              name = nom;
              this.entreprise = entreprise;
       }
       

       /* (non-Javadoc)
        * @see java.lang.Object#toString()
        */
       @Override
       public String toString() {
              return name+" "+salaire;
       }

       /* (non-Javadoc)
        * @see java.lang.Comparable#compareTo(java.lang.Object)
        */
       public int compareTo(Salarie another) {
              return Integer.valueOf(salaire).compareTo(another.getSalaire());
       }

       // Voici ci-dessous la pire des solutions : elle peut marcher dans le contexte de l'énoncé 
       //     (pour trier directement dans le bon sens) mais elle ne respecte pas la définition 
       // de la méthode compareTo, donnée dans l'API, et dont on hérite !! 
       // Si quelqu'un l'utilise il sera piégé. Et beaucoup d'algorithmes (comme sort) utilisent
       // la méthode compareTo des objets qui implémentent Comparable
       
//     public int compareTo(Salarie another) {
//            return - (new Integer(this.salaire).compareTo(another.getSalaire()));
//                   ou encore
//            return (new Integer(another.getSalaire()).compareTo(this.salaire));

       /**
        * Gets the salaire.
        * 
        * @return the salaire
        */
       public int getSalaire() {
              return salaire;
       }

       /**
        * Gets the name.
        * 
        * @return the name
        */
       public String getName() {
              return name;
       }
       
}