Correction exercice 3

import java.util.LinkedList;

/**
 * Realisation de l'interface Stock sous forme d'une liste.
 *
 * un stock sait :
 *  - etre cree
 *  - ajouter/enlever un produit
 *  - indiquer s'il est plein
 *  - renvoyer une chaine de caracteres decrivant son contenu
 *
 * @author  F. Dagnat P. Geffroy
 */
public class StockList implements Stock {

    private LinkedList<Product> content; 

    /**
     * Construit un stock dont la capacite est donne par s
     * @param s la taille du stock
     */
    public StockList() { content = new LinkedList<Product>(); }

    /**
     * ajoute un produit, et incremente le nombre d'elements 
     * @param p le produit ajoute
     */
    public void add(Product p) {
        content.add(p);
    }

    /**
     * retire un produit, et decremente le nombre d'elements
     * on voit ici que le choix du produit retire pourrait
     * etre different...
     */
    public Product remove() {
        if (isEmpty())
            return null;
        return  content.removeLast();
    }


    /**
     * indique si je suis plein
     */
    public boolean isFull() { return false; }

    /**
     * indique si le stock est vide
     */
    public boolean isEmpty() {return content.size() == 0; }

    /**
     * donne le nombre de produits dans le stock
     */
    public int getSize() {return content.size(); }

    /**
     * renvoie une chaine de caracteres representant le contenu du stock
     */
    public String toString() {
        return content.toString();
    }
}