22 lines
665 B
Scala
22 lines
665 B
Scala
package ch.hevs.isc.slopify_v2
|
|
|
|
import scala.collection.mutable.ArrayBuffer
|
|
|
|
class Album(val name: String) extends Serializable {
|
|
private var _songs: ArrayBuffer[Song] = new ArrayBuffer()
|
|
def addSong(song: Song): Unit = _songs.addOne(song)
|
|
def containsSong(song: Song): Boolean = _songs.exists(s => s.number == song.number && s.title == song.title)
|
|
def getSongs(): Array[Song] = _songs.toArray
|
|
|
|
def getSongByTitle(title: String): Option[Song] = {
|
|
for (song: Song <- _songs) {
|
|
if (song.title == title) {
|
|
return Some(song)
|
|
}
|
|
}
|
|
return None
|
|
}
|
|
|
|
override def toString: String = s"<Album '$name': ${_songs.length} song(s)>"
|
|
}
|