šŸŽØ Replace HeldentageFilter with Kotlin version
authorDavid ā€˜Bombeā€™ Roden <bombe@pterodactylus.net>
Sun, 24 Oct 2021 11:52:06 +0000 (13:52 +0200)
committerDavid ā€˜Bombeā€™ Roden <bombe@pterodactylus.net>
Sun, 24 Oct 2021 11:52:06 +0000 (13:52 +0200)
src/main/java/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.java [deleted file]
src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.kt [new file with mode: 0644]

diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.java
deleted file mode 100644 (file)
index 7081656..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-package net.pterodactylus.rhynodge.filters.comics;
-
-import static com.google.common.base.Optional.absent;
-import static com.google.common.base.Optional.of;
-import static java.util.Collections.emptyList;
-import static java.util.stream.Collectors.toList;
-
-import java.util.List;
-
-import net.pterodactylus.rhynodge.filters.ComicSiteFilter;
-
-import com.google.common.base.Optional;
-import org.jsoup.nodes.Document;
-
-/**
- * {@link ComicSiteFilter} implementation that can parse ā€œHeldentageā€ comics.
- *
- * @author <a href="mailto:bombe@pterodactylus.net">David ā€˜Bombeā€™ Roden</a>
- */
-public class HeldentageFilter extends ComicSiteFilter {
-
-       @Override
-       protected Optional<String> extractTitle(Document document) {
-               return extractImageUrls(document).isEmpty() ? absent() : of("");
-       }
-
-       @Override
-       protected List<String> extractImageUrls(Document document) {
-               return document.select("#mod_jheldentage_display_latest img").stream().map(element -> element.attr("src")).collect(toList());
-       }
-
-       @Override
-       protected List<String> extractImageComments(Document document) {
-               return emptyList();
-       }
-
-}
diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.kt
new file mode 100644 (file)
index 0000000..9319a2f
--- /dev/null
@@ -0,0 +1,28 @@
+package net.pterodactylus.rhynodge.filters.comics
+
+import com.google.common.base.Optional
+import com.google.common.base.Optional.absent
+import com.google.common.base.Optional.fromNullable
+import com.google.common.base.Optional.of
+import net.pterodactylus.rhynodge.filters.ComicSiteFilter
+import net.pterodactylus.rhynodge.utils.asOptional
+import org.jsoup.nodes.Document
+import org.jsoup.nodes.Element
+import java.util.stream.Collectors
+
+/**
+ * [ComicSiteFilter] implementation that can parse ā€œHeldentageā€ comics.
+ */
+class HeldentageFilter : ComicSiteFilter() {
+
+       override fun extractTitle(document: Document): Optional<String> =
+               if (extractImageUrls(document).isEmpty()) absent() else of("")
+
+       override fun extractImageUrls(document: Document): List<String> =
+               document.select("#mod_jheldentage_display_latest img")
+                       .map { it.attr("src") }
+
+       override fun extractImageComments(document: Document): List<String> =
+               emptyList()
+
+}