@@ -3,6 +3,7 @@ package org.thepalaceproject.opds2.core
33import com.fasterxml.jackson.core.JsonGenerator
44import com.fasterxml.jackson.databind.SerializerProvider
55import com.fasterxml.jackson.databind.ser.std.StdSerializer
6+ import one.irradia.mime.api.MIMEType
67
78class O2LinkSerializer : StdSerializer <O2Link >(O2Link : :class.java) {
89 override fun serialize (
@@ -22,19 +23,7 @@ class O2LinkSerializer : StdSerializer<O2Link>(O2Link::class.java) {
2223 generator.writeString(text)
2324 }
2425 value.type?.let { type ->
25- val text = StringBuilder ()
26- text.append(type.toString())
27- if (type.parameters.isNotEmpty()) {
28- text.append(' ;' )
29- for ((k, v) in type.parameters) {
30- text.append(k)
31- text.append(' =' )
32- text.append(v)
33- text.append(' ;' )
34- }
35- }
36- generator.writeFieldName(" type" )
37- generator.writeString(text.toString())
26+ this .writeType(type, generator)
3827 }
3928 value.relation?.let { text ->
4029 generator.writeFieldName(" rel" )
@@ -61,19 +50,7 @@ class O2LinkSerializer : StdSerializer<O2Link>(O2Link::class.java) {
6150 generator.writeString(text)
6251 }
6352 value.type?.let { type ->
64- val text = StringBuilder ()
65- text.append(type.toString())
66- if (type.parameters.isNotEmpty()) {
67- text.append(' ;' )
68- for ((k, v) in type.parameters) {
69- text.append(k)
70- text.append(' =' )
71- text.append(v)
72- text.append(' ;' )
73- }
74- }
75- generator.writeFieldName(" type" )
76- generator.writeString(text.toString())
53+ this .writeType(type, generator)
7754 }
7855 value.relation?.let { text ->
7956 generator.writeFieldName(" rel" )
@@ -88,4 +65,23 @@ class O2LinkSerializer : StdSerializer<O2Link>(O2Link::class.java) {
8865 }
8966 }
9067 }
68+
69+ private fun writeType (
70+ type : MIMEType ,
71+ generator : JsonGenerator
72+ ) {
73+ val text = StringBuilder ()
74+ text.append(type.toString())
75+ if (type.parameters.isNotEmpty()) {
76+ text.append(' ;' )
77+ for ((k, v) in type.parameters) {
78+ text.append(k)
79+ text.append(' =' )
80+ text.append(v)
81+ text.append(' ;' )
82+ }
83+ }
84+ generator.writeFieldName(" type" )
85+ generator.writeString(text.toString())
86+ }
9187}
0 commit comments