Package pigeons

Class Food

java.lang.Object
pigeons.Food

public class Food
extends java.lang.Object
Classe permettant de gérer une nourriture
Since:
1.0
  • Field Summary

    Fields
    Modifier and Type Field Description
    java.awt.Color color
    Couleur de la nourriture - Rouge si non consommable - Jaune si consommable
    private long freshTimeLeft
    Temps restant de fraicheur de la nourriture
    private boolean isFresh
    Consommabilité de la nourriture
    private java.util.concurrent.atomic.AtomicInteger numWriter
    Nombre de thread travaillant en ecriture sur l'objet
    private Position position
    Position de la nourriture
  • Constructor Summary

    Constructors
    Constructor Description
    Food​(int x, int y)
    Constructeur de l'objet representant une nourriture
    Food​(Position position)
    Constructeur de l'objet representant une nourriture
  • Method Summary

    Modifier and Type Method Description
    java.awt.Color getColor()
    Obtenir la couleur associé une nourriture
    long getFreshTimeLeft()
    Obtenir le temps de fraicheur restant à une nourriture Cette méthode est executé avec un verrou ce qui permet aux oiseaux de recuperer la propriété en étant sur que la variable n'est pas en cours de modification
    Position getPosition()
    Obtenir la position de la nourriture
    boolean isFresh()
    Obtenir la consommabité de la nourriture Cette fonction est executé avec un verrou ce qui permet aux oiseaux de recuperer la propriété en étant sur que la variable n'est pas en cours de modification
    void reduceFreshTimeLeft​(long toReduce)
    Reduit le temps de fraicheur de la nourriture.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • position

      private Position position
      Position de la nourriture
    • isFresh

      private boolean isFresh
      Consommabilité de la nourriture
    • freshTimeLeft

      private long freshTimeLeft
      Temps restant de fraicheur de la nourriture
    • numWriter

      private java.util.concurrent.atomic.AtomicInteger numWriter
      Nombre de thread travaillant en ecriture sur l'objet
    • color

      public java.awt.Color color
      Couleur de la nourriture - Rouge si non consommable - Jaune si consommable
  • Constructor Details

    • Food

      public Food​(Position position)
      Constructeur de l'objet representant une nourriture
      Parameters:
      position - Position de la nourriture
    • Food

      public Food​(int x, int y)
      Constructeur de l'objet representant une nourriture
      Parameters:
      x - position sur l'axe des abscisses de la nourriture
      y - postiion sur l'axe des ordonnées de la nourriture
  • Method Details

    • getPosition

      public Position getPosition()
      Obtenir la position de la nourriture
      Returns:
      position de la nourriture
    • reduceFreshTimeLeft

      public void reduceFreshTimeLeft​(long toReduce)
      Reduit le temps de fraicheur de la nourriture. Si le temps restants de fraicheur, la nourriture est consideré comme non consommable et la variable isFresh vaut desormais true. Par ailleurs la couleur d'une nourriture devient rouge
      Parameters:
      toReduce - Temps à retirer du temps restant de fraicheur
    • getColor

      public java.awt.Color getColor()
      Obtenir la couleur associé une nourriture
      Returns:
      La couleur associé à la nouritture, jaune si consommable, rouge sinon
    • getFreshTimeLeft

      public long getFreshTimeLeft()
      Obtenir le temps de fraicheur restant à une nourriture Cette méthode est executé avec un verrou ce qui permet aux oiseaux de recuperer la propriété en étant sur que la variable n'est pas en cours de modification
      Returns:
      Temps de fraicheur restant à la nourriture
    • isFresh

      public boolean isFresh()
      Obtenir la consommabité de la nourriture Cette fonction est executé avec un verrou ce qui permet aux oiseaux de recuperer la propriété en étant sur que la variable n'est pas en cours de modification
      Returns:
      boolean