Class Album.Brano

java.lang.Object
it.unimi.di.prog2.temisvolti.playfy.Album.Brano
Enclosing class:
Album

public class Album.Brano extends Object
Classe interna che rappresenta un brano.

Gli oggetti di questa classe sono istanziati esclusivamente dal costruttore dell'Album(String, List, List) che provvede ad aggiungerli ai suoi brani.

  • Field Details

    • titolo

      public final String titolo
      Il titolo del brano.
    • durata

      public final Durata durata
      La durata del brano.
  • Constructor Details

    • Brano

      private Brano(String titolo, Durata durata)
      Costruisce un brano.

      Una volta creato, un brano deve essere aggiunto all'album che lo avvolge.

      Parameters:
      titolo - il titolo.
      durata - la durata.
      Throws:
      NullPointerException - se titolo o durata sono nulli.
      IllegalArgumentException - se il titolo è vuoto, o la durata è 0.
  • Method Details

    • album

      public Album album()
      Restituisce un riferimento all'album a cui il brano appartiene.
      Returns:
      l'album di cui questo brano è parte.
    • appartiene

      public boolean appartiene(Album album)
      Consente di determinare se questo brano appartiene al medesimo album di quello dato.
      Parameters:
      album - l'album del quale è da verificare l'appartenenza.
      Returns:
      true se e solo se questo brano appartiene all'album dato.
      Throws:
      NullPointerException - se l'album è null.
    • asString

      public String asString(boolean conAlbum)
      Restituisce una rappresentazione di questo brano come stringa.
      Parameters:
      conAlbum - se true alla rappresentazione viene aggiunto il titolo dell'album.
      Returns:
      una rappresentazione testuale del brano.
    • toString

      public String toString()
      Overrides:
      toString in class Object