automobile

## Class Vehicule

- java.lang.Object
- - automobile.Vehicule

-     public class Vehicule
      extends java.lang.Object

  Gestion d'un véhicule Contient sa plaque d'immatriculation, son compteur, sa jauge, la capacité de cette dernière et sa consommation
  Author:
    Adrien Poupa

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Vehicule(double consommationKilometrique)` Constructeur d'un Véhicule Initialise sa consommation et sa plaque d'immatriculation

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(Vehicule other)` Comparaison de deux véhicules en fonction de la plaque d'immatriculation
    `void` | `faireLePlein()` Faire le plein du véhicule On met la jauge au maximum de la capacité du réservoir
    `Compteur` | `getCompteur()` Getter du compteur
    `double` | `getJauge()` Getter de jauge
    `int` | `getNoImmatriculation()` Getter du numéro d'immatriculation
    `void` | `mettreDeLessence(int litres)` Mettre de l'essence dans le véhicule On prend en compte le niveau actuel de la jauge pour vérifier si on peut mettre l'intégralité de l'essence
    `double` | `rouler(double kilometres)` On essaie de rouler le nombre de kilomètres spécifié Si la jauge est vide, on fait le plein et on sort Si la jauge permet de rouler le nombre de kilomètres désiré, aucun problème Si on tente de rouler plus que la jauge ne le permet, on roule autant que possible et on fait le plein
    `java.lang.String` | `toString()` Surcharge toString pour l'affichage du véhicule

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Vehicule

          public Vehicule(double consommationKilometrique)

      Constructeur d'un Véhicule Initialise sa consommation et sa plaque d'immatriculation
      Parameters:
        `consommationKilometrique` - consommation en litre par 100 Km parcourus

  - ### Method Detail

    - #### getJauge

          public double getJauge()

      Getter de jauge
      Returns:
        jauge, le niveau de jauge actuel

    - #### getCompteur

          public Compteur getCompteur()

      Getter du compteur
      Returns:
        compteur, instance du compteur liée au véhicule actuel

    - #### getNoImmatriculation

          public int getNoImmatriculation()

      Getter du numéro d'immatriculation
      Returns:
        immatriculation, numéro d'immatriculation du véhicule

    - #### mettreDeLessence

          public void mettreDeLessence(int litres)
                                throws CapaciteDepasseeException

      Mettre de l'essence dans le véhicule On prend en compte le niveau actuel de la jauge pour vérifier si on peut mettre l'intégralité de l'essence
      Parameters:
        `litres` - litrage d'essence à mettre
      Throws:
        `CapaciteDepasseeException` - si on tente de mettre plus d'essence que le réservoir ne peut en contenir

    - #### faireLePlein

          public void faireLePlein()

      Faire le plein du véhicule On met la jauge au maximum de la capacité du réservoir

    - #### rouler

          public double rouler(double kilometres)

      On essaie de rouler le nombre de kilomètres spécifié Si la jauge est vide, on fait le plein et on sort Si la jauge permet de rouler le nombre de kilomètres désiré, aucun problème Si on tente de rouler plus que la jauge ne le permet, on roule autant que possible et on fait le plein
      Parameters:
        `kilometres` - nombre de kilomètres à rouler
      Returns:
        nombre de kilomètres qu'on a pu parcourir

    - #### toString

          public java.lang.String toString()

      Surcharge toString pour l'affichage du véhicule
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        "Vehicule X : compteur = [Totalisateur = X | Partiel = X]; jauge = X"

    - #### compareTo

          public int compareTo(Vehicule other)

      Comparaison de deux véhicules en fonction de la plaque d'immatriculation
      Parameters:
        `other` - autre véhicule à comparer à l'instance actuelle
      Returns:
        -1 si l'autre a un numéro plus élevé, 1 si c'est l'inverse, 0 si les plaques sont égales (ce qui ne devrait pas arriver)