MartinX3-EducationOrganization/HBRS-SA_S3_SE1_Mid-Term-Project

User Story 4 - Extension of the container class

Closed this issue · 1 comments

Change requests (CR):

CR1:
Es soll zur Laufzeit zugesichert werden, dass von der Klasse Container nur ein einziges Mal ein Objekt erzeugt werden kann und somit nur ein Objekt davon im Speicher existiert.
(Singleton-Pattern)

CR2:
Die Abspeicherung eines Objekts in einem Container-Objekt soll weiterhin über eine zentrale Methode erfolgen.
Die Klasse Container soll nun so erweitert werden, dass je nach selektiertem List-Type die Abspeicherung intern in dem Container–Objekt über eine ArrayList oder eine LinkedList erfolgen soll. Der List-Type soll von außen über eine Methode changeListType( Modus modus ) gesetzt werden können.
Die verschiedenen List-Types sollen als Konstanten in einem paketsichtbaren enum type Modus definiert werden, die dann z.B. innerhalb der Test-Klasse wie folgt verwendet werden können, um einen List-Type zu ändern (bzw. initial zu setzen):

Container con = ...
con.changeListType( Modus.LIST_TYPE_ARRAY );

Das Umsetzen eines List-Types auf ArrayList bzw. LinkedList kann die Löschung einer bestehenden Liste implizieren.
Ein Umkopieren ist nicht notwendig.

Sent from my Nexus 6 using FastHub

CR1:

private static Container container = new Container();

und

public static Container getContainer() {
return container;
}

reichen, da so Container niemals null sein kann.