Class Songliste
java.lang.Object
Songliste
public class Songliste
- extends java.lang.Object
Speichert in einem beschränkten Array Songobjekte ab und verfügt über die
Fähigkeit diese aus einer Textdatei zu lesen und diese in eine Textdatei zu
schreiben
- Author:
- Michael Wild
|
Field Summary |
private int |
anzahl
Anzahl der Songs die im Array aktuell gespeichert sind
(anzahlSongs <= this.songs.length) |
private static int |
DEFAULT_MAXANZAHL
Wenn dem Konstruktor eine nicht korrekte Anzahl von Songs die verwaltet werden
können übergeben wird, wird Platz für DEFAULT_MAXANZAHL Songs reserviert |
private int |
nummerAktueller
Nummer des aktuellen Songs im Array |
private java.lang.String |
pfad
Pfad und Dateiname jener Datei, aus welcher die Songs gelesen bzw. in welche die
Songs geschrieben werden |
private Song[] |
songs
Speichert in einem internen Array die Songs ab. |
|
Constructor Summary |
Songliste(int maxAnzahl)
Konstruktor, der ein privates Array initialisiert in welchem maxAnzahl Songs
aufgenommen werden können. |
|
Method Summary |
int |
aendernAktuellen(Song s)
Ändert den aktuellen Song auf den übergebenen Song ab und sortiert ihn nicht ein |
int |
anfuegenNeuen(Song s)
Trägt einen neuen Song am Ende der Songliste ein. |
Song |
getAktueller()
Liefert den aktuellen Song zurück auf den der Songzeiger nummerAktueller zeigt |
int |
getAnzahl()
Gibt die Anzahl der Songs zurück, die momentan im Array vorhanden sind |
Song |
getErster()
Liefert den ersten Song in der Songliste zurück und setzt den Songzeiger auf diesen
Song. |
Song |
getLetzter()
Liefert den letzten Song in der Songliste zurück und setzt den Songzeiger auf diesen
Song. |
int |
getMaxAnzahl()
Liefert die Maximale Anzahl von Songs zurück, die im Array abgespeichert werden
können |
Song |
getNaechster()
Liefert den nächsten Song - falls vorhanden - zurück und erhöht den Songzeiger
nummerAktueller um Eins. |
java.lang.String |
getPfad()
Liest den Dateipfad aus |
Song |
getVoriger()
Liefert den vorigen Song - falls vorhanden - zurück und vermindert den Songzeiger
um Eins. |
int |
lesenSongs()
Lädt die Songs aus der Textdatei die in pfad vorhanden ist. |
int |
loeschenAktuellen()
Löscht den aktuellen Song aus der Liste. |
int |
loeschenAlle()
Löscht alle Songs aus der Liste. |
int |
schreibenSongs()
Schreibt die Songs in die Textdatei. |
void |
setPfad(java.lang.String pfad)
Setzt den Dateipfad auf jene Datei aus welcher die Songs gelesen bzw. in welche
die Songs geschrieben werden soll |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_MAXANZAHL
private static final int DEFAULT_MAXANZAHL
- Wenn dem Konstruktor eine nicht korrekte Anzahl von Songs die verwaltet werden
können übergeben wird, wird Platz für DEFAULT_MAXANZAHL Songs reserviert
- See Also:
- Constant Field Values
songs
private Song[] songs
- Speichert in einem internen Array die Songs ab. Dabei werden die Songs nicht in
sortierter Reihenfolge abgelegt
nummerAktueller
private int nummerAktueller
- Nummer des aktuellen Songs im Array
anzahl
private int anzahl
- Anzahl der Songs die im Array aktuell gespeichert sind
(anzahlSongs <= this.songs.length)
pfad
private java.lang.String pfad
- Pfad und Dateiname jener Datei, aus welcher die Songs gelesen bzw. in welche die
Songs geschrieben werden
Songliste
public Songliste(int maxAnzahl)
- Konstruktor, der ein privates Array initialisiert in welchem maxAnzahl Songs
aufgenommen werden können. Ist maxAnzahl <= 0, so wird über die interne
songs-Variable ein Array angelegt das DEFAULT_MAXANZAHL Songs aufnehmen kann.
Weiters wird anzahl auf 0 gesetzt weil noch keine
Songs in der Liste vorhanden sind und nummerAktueller auf -1, weil noch kein
Song angesprungen wurde
- Parameters:
maxAnzahl - die maximale Anzahl von Songs die aufgenommen werden können
getMaxAnzahl
public int getMaxAnzahl()
- Liefert die Maximale Anzahl von Songs zurück, die im Array abgespeichert werden
können
- Returns:
- die Anzahl der im Array maximal eintragbaren Songs
getAnzahl
public int getAnzahl()
- Gibt die Anzahl der Songs zurück, die momentan im Array vorhanden sind
- Returns:
- die Anzahl der Songs die im Array momentan eingetragen sind
0 falls das Array zwar angelegt wurde aber noch keine Elemente enthalten sind
getAktueller
public Song getAktueller()
- Liefert den aktuellen Song zurück auf den der Songzeiger nummerAktueller zeigt
- Returns:
- den aktuellen Song oder null, falls kein Song in der Songliste enthalten
ist
getNaechster
public Song getNaechster()
- Liefert den nächsten Song - falls vorhanden - zurück und erhöht den Songzeiger
nummerAktueller um Eins. Gibt es keinen nächsten Song, wird null zurück geliefert
und der Songzeiger nicht erhöht
- Returns:
- liefert den nächsten Song zurück oder null, falls dieser Song nicht
vorhanden ist
getVoriger
public Song getVoriger()
- Liefert den vorigen Song - falls vorhanden - zurück und vermindert den Songzeiger
um Eins. Gibt es keinen vorigen Song wird null zurück geliefert und der Songzeiger
nicht vermidert
- Returns:
- den vorigen Song
getErster
public Song getErster()
- Liefert den ersten Song in der Songliste zurück und setzt den Songzeiger auf diesen
Song. Ist die Liste leer, wird null zurück geliefert
- Returns:
- den ersten Song in der Liste
getLetzter
public Song getLetzter()
- Liefert den letzten Song in der Songliste zurück und setzt den Songzeiger auf diesen
Song. Ist die Liste leer, wird null zurück geliefert
- Returns:
- den letzten Song
setPfad
public void setPfad(java.lang.String pfad)
- Setzt den Dateipfad auf jene Datei aus welcher die Songs gelesen bzw. in welche
die Songs geschrieben werden soll
- Parameters:
pfad -
getPfad
public java.lang.String getPfad()
- Liest den Dateipfad aus
- Returns:
- dateipfad
anfuegenNeuen
public int anfuegenNeuen(Song s)
- Trägt einen neuen Song am Ende der Songliste ein. Die Anzahl der Songs wird um
Eins erhöht und die nummerAktueller wird auf diesen Song gesetzt.
Der Song wird nicht eingetragen, wenn im Array kein Platz mehr ist
- Parameters:
s - der einzutragende Song
- Returns:
- 0 falls das Eintragen erfolgreich war
-1 falls kein einzutragender Song übergeben wurde
-2 falls die Songliste keinen Platz für einen weiteren Song hat
aendernAktuellen
public int aendernAktuellen(Song s)
- Ändert den aktuellen Song auf den übergebenen Song ab und sortiert ihn nicht ein
- Parameters:
s - der Song der die zu ändernden Werte enthält
- Returns:
- 0 falls die Änderung erfolgreich durchgeführt werden konnte
-1 falls kein zu ändernder Song übergeben wurde
-2 falls der aktuelle Song nicht bekannt ist
loeschenAktuellen
public int loeschenAktuellen()
- Löscht den aktuellen Song aus der Liste. Dies kann nur passieren, wenn die
Nummer des aktuellen Songs gesetzt ist. Da im Array eine Lücke entsteht, müssen
alle nachfolgenden Songs um eine Stelle nach vorne geschoben werden. Der aktuelle
Song wird jener Song der dem zu löschenden Song folgt. Ist der zu löschende Song
der letzte Song in der Liste, so wird der aktuelle Song jener Song der vor dem
zu löschenden Song vorhanden ist. Ist der zu löschende Song der einzige in der Liste,
so wird die nummerAktueller auf -1 gesetzt. Beim Löschen wird anzahl um Eins
verringert
- Returns:
- 0 falls das Löschen erfolgreich durchgeführt werden konnte
-1 falls der aktuelle Song noch nicht gesetzt wurde
loeschenAlle
public int loeschenAlle()
- Löscht alle Songs aus der Liste. Setzt die Anzahl auf 0 und die Nummer des
aktuellen Songs auf -1
- Returns:
- 0 falls das Löschen erfolgreich war
-1 falls die Liste bereits leer ist
lesenSongs
public int lesenSongs()
- Lädt die Songs aus der Textdatei die in pfad vorhanden ist. Dabei
werden die bereits in der Songliste gespeicherten Songs gelöscht. Nach dem
Einfügen sind die Songs in sortierter Reihenfolge vorhanden. Als aktueller Song
wird der Erste angesprungen
- Returns:
- 0 falls die Songs erfolgreich ein gefügt werden konnten
-1 falls der Pfad nicht gesetzt ist
-2 falls die Datei nicht zu finden ist
-3 falls ein Lesefehler in der Datei vorhanden ist
-4 das interner Array kann nicht alle Songs aufnehmen, weil es zu klein dimensioniert
ist
schreibenSongs
public int schreibenSongs()
- Schreibt die Songs in die Textdatei. Dabei werden die in der Datei gespeicherten
Songs gelöscht
- Returns:
- 0 falls die Songs erfolgreich ein gefügt werden konnten
-1 falls der Pfad nicht gesetzt wurde
-2 falls die Datei nicht angelegt werden konnte