From e9ee951e570c441151385d1ccd8c4230abf704ca Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sat, 26 Jun 2021 14:32:12 +0200 Subject: Updated javadoc, added jacoco and the necessary JUnit for this feature. --- .../jacoco/musichub.business/AudioBook.java.html | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 target/site/jacoco/musichub.business/AudioBook.java.html (limited to 'target/site/jacoco/musichub.business/AudioBook.java.html') diff --git a/target/site/jacoco/musichub.business/AudioBook.java.html b/target/site/jacoco/musichub.business/AudioBook.java.html new file mode 100644 index 0000000..33a7924 --- /dev/null +++ b/target/site/jacoco/musichub.business/AudioBook.java.html @@ -0,0 +1,79 @@ +AudioBook.java

AudioBook.java

package musichub.business;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class AudioBook extends AudioElement {
+    private Language language;
+    private Category category;
+
+    public AudioBook(String title, String artist, int lengthInSeconds, String uid, String content, String language, String category) {
+        super(title, artist, lengthInSeconds, uid, content);
+        this.setLanguage(language);
+        this.setCategory(category);
+    }
+
+    public AudioBook(String title, String artist, int lengthInSeconds, String content, String language, String category) {
+        super(title, artist, lengthInSeconds, content);
+        this.setLanguage(language);
+        this.setCategory(category);
+    }
+
+    public AudioBook(Element xmlElement) {
+        super(xmlElement);
+        this.setLanguage(xmlElement.getElementsByTagName("language").item(0).getTextContent());
+        this.setCategory(xmlElement.getElementsByTagName("category").item(0).getTextContent());
+    }
+
+    public Language getLanguage() {
+        return this.language;
+    }
+
+    public void setLanguage(String language) {
+        switch (language.toLowerCase()) {
+            default -> this.language = Language.ENGLISH;
+            case "french" -> this.language = Language.FRENCH;
+            case "german" -> this.language = Language.GERMAN;
+            case "spanish" -> this.language = Language.SPANISH;
+            case "italian" -> this.language = Language.ITALIAN;
+        }
+    }
+
+    public Category getCategory() {
+        return this.category;
+    }
+
+    public void setCategory(String category) {
+        switch (category.toLowerCase()) {
+            default -> this.category = Category.YOUTH;
+            case "novel" -> this.category = Category.NOVEL;
+            case "theater" -> this.category = Category.THEATER;
+            case "documentary" -> this.category = Category.DOCUMENTARY;
+            case "speech" -> this.category = Category.SPEECH;
+        }
+    }
+
+
+    public String toString() {
+        return super.toString() + ", Language = " + getLanguage() + ", Category = " + getCategory() + "\n";
+    }
+
+
+    public void createXMLElement(Document document, Element parentElement) {
+        // audiobook element
+        Element audioBook = document.createElement("audiobook");
+
+        super.createXMLElement(document, audioBook);
+
+        Element languageElement = document.createElement("language");
+        languageElement.appendChild(document.createTextNode(language.getLanguage()));
+        audioBook.appendChild(languageElement);
+
+        Element categoryElement = document.createElement("category");
+        categoryElement.appendChild(document.createTextNode(category.getCategory()));
+        audioBook.appendChild(categoryElement);
+
+        parentElement.appendChild(audioBook);
+    }
+}
+
\ No newline at end of file -- cgit v1.2.3