Class Playlist
java.lang.Object
it.unimi.di.prog2.temisvolti.playfy.Playlist
- All Implemented Interfaces:
Iterable<Album.Brano>
Una classe mutabile che rappresenta una playlist.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
accoda
(Album.Brano brano) Aggiunge il brano dato alla playlist.album()
Restituisce un iteratore che enumera (senza ripetizioni) gli album di cui esiste un brano in questa playlist.Restituisce un iteratore che enumera tutti i brani della playlist che provengono dall'album dato.brano
(int pos) Restituisce il brano che ha nella playlist la posizione data.durata()
Restituisce la durata complessiva della playlist.Fonde questa playlist con quella data.iterator()
nome()
Restituisce il nome della playlist.void
Cambia il nome della playlst.int
Restituisce il numero di brani della playlist.int
posizione
(Album.Brano brano) Restituisce la posizione nella playlist del brano dato.void
rimuovi
(Album.Brano brano) Rimuove il brano dato dalla playlist.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
nome
Il nome della playlist. -
durata
La durata complessiva della playlist. -
brani
L'elenco di brani contenuti nella playlist.
-
-
Constructor Details
-
Playlist
Costruisce una playlist di nome dato.- Parameters:
nome
- il nome.- Throws:
NullPointerException
- se il nome ènull
.IllegalArgumentException
- se il nome è vuoto.
-
-
Method Details
-
nome
Restituisce il nome della playlist.- Returns:
- li nome.
-
nome
Cambia il nome della playlst.- Parameters:
nome
- il nome.- Throws:
NullPointerException
- se il nome ènull
.IllegalArgumentException
- se il nome è vuoto.
-
durata
Restituisce la durata complessiva della playlist.- Returns:
- la durata.
-
numeroBrani
public int numeroBrani()Restituisce il numero di brani della playlist.- Returns:
- il numero di brani di questa playlist.
-
brano
Restituisce il brano che ha nella playlist la posizione data.- Parameters:
pos
- la posizione.- Returns:
- il brano.
- Throws:
IndexOutOfBoundsException
- se la posizione non è compresa tra 1 e il numero di brani della playlist.
-
posizione
Restituisce la posizione nella playlist del brano dato.- Parameters:
brano
- il brano.- Returns:
- la sua posizione nella playlist, o 0 se il brano non appartiene all'album.
- Throws:
NullPointerException
- se il brano ènull
-
accoda
Aggiunge il brano dato alla playlist.- Parameters:
brano
- il brano.- Throws:
NullPointerException
- se il brano ènull
.
-
rimuovi
Rimuove il brano dato dalla playlist.- Parameters:
brano
- il brano.- Throws:
NullPointerException
- se il brano ènull
.
-
fondi
Fonde questa playlist con quella data.La fusione tra questa playlist ed una data è una nuova playlist (di nome dato) che contiene tutti i brani di questa playlist (eventualmente ripetuti) a cui sono accodati i brani dell'altra playlist nell'ordine in cui compaiono in essa, omettendo i brani contenuti in questa playlist.
- Parameters:
nome
- il nome della playlist risultante.altra
- l'altra playlist con cui fondere questa.- Returns:
- la playlist risultante.
- Throws:
NullPointerException
- se il nome, o l'altra playlist sononull
.IllegalArgumentException
- se il nome è vuoto.
-
brani
Restituisce un iteratore che enumera tutti i brani della playlist che provengono dall'album dato.- Parameters:
album
- l'album.- Returns:
- l'iteartore.
- Throws:
NullPointerException
- se l'album ènull
.
-
album
Restituisce un iteratore che enumera (senza ripetizioni) gli album di cui esiste un brano in questa playlist.- Returns:
- l'itertore.
-
toString
-
iterator
- Specified by:
iterator
in interfaceIterable<Album.Brano>
-