All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avito.android.owner.adapter.OwnerNameAdapter.kt Maven / Gradle / Ivy

Go to download

Collection of infrastructure libraries and gradle plugins of Avito Android project

The newest version!
package com.avito.android.owner.adapter

import com.avito.android.model.Owner
import com.avito.android.serializers.OwnerNameSerializer
import com.squareup.moshi.FromJson
import com.squareup.moshi.JsonReader
import com.squareup.moshi.JsonWriter
import com.squareup.moshi.ToJson
import javax.inject.Provider

public class OwnerNameAdapter(
    private val ownerSerializer: Provider
) : OwnerAdapter() {

    public constructor(ownerSerializer: OwnerNameSerializer) : this(Provider { ownerSerializer })

    @FromJson
    override fun fromJson(reader: JsonReader): Owner? {
        val rawOwner = reader.nextString() ?: return null
        return ownerSerializer.get().deserialize(rawOwner)
    }

    @ToJson
    override fun toJson(writer: JsonWriter, value: Owner?) {
        if (value == null) {
            writer.nullValue()
        } else {
            writer.value(ownerSerializer.get().serialize(value))
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy