Replace Sone provider interface with Kotlin version
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / template / ParserFilter.kt
index e389652..67b03f3 100644 (file)
@@ -7,17 +7,20 @@ import net.pterodactylus.sone.text.SoneTextParser
 import net.pterodactylus.sone.text.SoneTextParserContext
 import net.pterodactylus.util.template.Filter
 import net.pterodactylus.util.template.TemplateContext
+import javax.inject.Inject
+import javax.inject.Singleton
 
 /**
  * Parses a [String] into a number of [Part]s.
  */
-class ParserFilter(private val core: Core, private val soneTextParser: SoneTextParser) : Filter {
+@Singleton
+class ParserFilter @Inject constructor(private val core: Core, private val soneTextParser: SoneTextParser) : Filter {
 
        override fun format(templateContext: TemplateContext?, data: Any?, parameters: MutableMap<String, Any?>?): Any? {
                val text = data?.toString() ?: return listOf<Part>()
                val soneParameter = parameters?.get("sone")
                val sone = when (soneParameter) {
-                       is String -> core.getSone(soneParameter).orNull()
+                       is String -> core.getSone(soneParameter)
                        is Sone -> soneParameter
                        else -> null
                }