diff options
author | Clyhtsuriva <61652557+clyhtsuriva@users.noreply.github.com> | 2021-06-28 21:40:03 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-28 21:40:03 +0000 |
commit | 1504d0255279133668b85f5c092f040a14fbc35f (patch) | |
tree | 0c9b9e927aa4d5f35ccc07e45e8abd973b2bad08 /src/main/java/musichub/business/Song.java | |
parent | 48d56d9db8fe93f1e1799674fefabdfc677d2eb7 (diff) | |
parent | 49196ae84aea338dbc6cd10f4d135e4b717cdd1f (diff) |
Merging develop to master.
Diffstat (limited to 'src/main/java/musichub/business/Song.java')
-rw-r--r-- | src/main/java/musichub/business/Song.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/musichub/business/Song.java b/src/main/java/musichub/business/Song.java new file mode 100644 index 0000000..564b7c5 --- /dev/null +++ b/src/main/java/musichub/business/Song.java @@ -0,0 +1,58 @@ +package musichub.business; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + + +public class Song extends AudioElement { + private Genre genre; + + public Song(String title, String artist, int length, String uid, String content, String genre) { + super(title, artist, length, uid, content); + this.setGenre(genre); + } + + public Song(String title, String artist, int length, String content, String genre) { + super(title, artist, length, content); + this.setGenre(genre); + } + + public Song(Element xmlElement) { + super(xmlElement); + this.setGenre(xmlElement.getElementsByTagName("genre").item(0).getTextContent()); + } + + public String getGenre() { + return genre.getGenre(); + } + + public void setGenre(String genre) { + switch (genre.toLowerCase()) { + default -> this.genre = Genre.JAZZ; + case "classic" -> this.genre = Genre.CLASSIC; + case "hiphop" -> this.genre = Genre.HIPHOP; + case "rock" -> this.genre = Genre.ROCK; + case "pop" -> this.genre = Genre.POP; + case "rap" -> this.genre = Genre.RAP; + } + } + + public String toString() { + return super.toString() + ", Genre = " + getGenre() + "\n"; + } + + public void createXMLElement(Document document, Element parentElement) { + // song element + Element song = document.createElement("song"); + + super.createXMLElement(document, song); + + Element genreElement = document.createElement("genre"); + genreElement.appendChild(document.createTextNode(genre.getGenre())); + song.appendChild(genreElement); + + parentElement.appendChild(song); + } + + +}
\ No newline at end of file |