/* Generated by Together */
import java.util.Vector;
import java.io.*;

/**
 * CDContainer verwaltet alle CDs, verfügt über Laden und Speichern.
 * Von CDContainter kann und darf es nur eine Instanz geben.
 */
// Serializable erleichtert spaeter das Abspeichern
public class CDContainer implements Serializable
{
    /**
     *Alle verwalteten CDs.
     */
    private Vector lnkCD;
    private static CDContainer instance = null;

    //Konstruktor erzeugt einen Vektor, der CDs aufnehmen kann.
    protected CDContainer(){
      lnkCD = new Vector();
      }

    // Das einzige existierende Objekt dieser Klasse holen...
    // Falls noch kein Objekt dieser Klasse existiert wird eins 
    // erzeugt.
    public static CDContainer getInstance(){
            if (instance == null) {
                instance = new CDContainer();
            }
            return instance;
        }

    /**
     * Fügt der Kollektion eine CD hinzu.
     */
    public void addCD(CD c) {
        lnkCD.add(c);
    }

    /**
     * Entfernt eine CD aus der Kollektion.
     */
    public void removeCD(CD c) {
        lnkCD.remove(c);
    }

    // Eine Test-Methode, die alle Titel der CD auf 
    // dem Bildschirm ausgibt. 
    public void TestAusgabe() {
        CD myCD;

        System.out.println("Bisherige CD-Collection\n");
        for(int i=0; i<lnkCD.size(); i++)
            {
            myCD = (CD)lnkCD.elementAt(i);
            System.out.println(myCD.getTitel()); 
            }
    }

    // Die CD zurueckliefern, die an der n-ten Stelle des Vektors
    // ist.
    public CD getCD(int n) {
        CD myCD = (CD)lnkCD.elementAt(n);
        return myCD;
    }

    // Die Anzahl der CDs zurueckliefern.
    public int getCDNumber() {
        return lnkCD.size();
    }

  void speichern(String filename)
   {
   }


  void laden(String filename)
    {
    }


}
