notion.api.v1.json.SearchResultParser.kt Maven / Gradle / Ivy
package notion.api.v1.json
import com.google.gson.*
import notion.api.v1.model.search.DatabaseSearchResult
import notion.api.v1.model.search.PageSearchResult
import notion.api.v1.model.search.SearchResult
import java.lang.reflect.Type
class SearchResultParser : JsonDeserializer, JsonSerializer {
override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): SearchResult? {
when (json.asJsonObject.get("object").asString) {
"page" -> return context.deserialize(json, PageSearchResult::class.java)
"database" -> return context.deserialize(json, DatabaseSearchResult::class.java)
}
return null
}
override fun serialize(src: SearchResult, typeOfSrc: Type, context: JsonSerializationContext): JsonElement? =
context.serialize(src)
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy