Class Album
java.lang.Object
it.unimi.di.prog2.temisvolti.playfy.Album
- All Implemented Interfaces:
Iterable<Album.Brano>
Classe concreta che rappresenta un album.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbrano
(int pos) Restituisce il brano che ha nell'album la posizione data.Restituisce il primo brano con un dato titolo.iterator()
int
Restituisce il numero di brani dell'album.int
posizione
(Album.Brano brano) Restituisce la posizione nell'album del brano dato.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
-
titolo
Il titolo dell'album. -
durata
La durata complessiva dell'album. -
brani
I brani di cui è costituito l'album.
-
-
Constructor Details
-
Album
Costruisce un album a partire da due liste "parallele" di titoli e durate.- Parameters:
titolo
- titolo dell'album.titoli
- lista dei titoli.durate
- lista delle durate.- Throws:
NullPointerException
- se uno dei parametri ènull
, o una delle liste contine unnull
.IllegalArgumentException
- se il titolo dell'album è vuoto, il numero di titoli è diverso da quello delle durate, il numero di titoli e durate è 0, uno dei titoli è vuoto, una delle durate è 0.
-
-
Method Details
-
numeroBrani
public int numeroBrani()Restituisce il numero di brani dell'album.- Returns:
- il numero di brani di questo album.
-
brano
Restituisce il brano che ha nell'album la posizione data.- Parameters:
pos
- la posizione.- Returns:
- il brano.
- Throws:
IndexOutOfBoundsException
- se la posizione non è compresa tra 1 e il numero di brani dell'album.
-
posizione
Restituisce la posizione nell'album del brano dato.- Parameters:
brano
- il brano.- Returns:
- la sua posizione nell'album, o 0 se il brano non appartiene all'album.
- Throws:
NullPointerException
- se il brano ènull
-
brano
Restituisce il primo brano con un dato titolo.Non è garantito che l'album contenga un solo brano con un dato titolo; pertanto se il valore della stringa `titolo` corrisponde al titolo di almeno un brano di quest'album, questo metodo è tale che:
brano.titolo.equals(titolo)
,- per ogni
pos < posizione(brano)
si ha che!brano(pos).titolo.equals(titolo)
.
brano = brano(titolo)
.- Parameters:
titolo
- il titolo.- Returns:
- un brano tale la posizione del primo brano con tale titolo, oppure
null
se nessun brano ha tale titolo. - Throws:
NullPointerException
- se il titolo ènull
.
-
toString
-
iterator
- Specified by:
iterator
in interfaceIterable<Album.Brano>
-