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

de.gesellix.docker.compose.adapters.MapToExternalAdapter.kt Maven / Gradle / Ivy

The newest version!
package de.gesellix.docker.compose.adapters

import com.squareup.moshi.FromJson
import com.squareup.moshi.JsonReader
import com.squareup.moshi.ToJson
import de.gesellix.docker.compose.types.External

class MapToExternalAdapter {

    @ToJson
    fun toJson(@ExternalType external: External): Map {
        throw UnsupportedOperationException()
    }

    @FromJson
    @ExternalType
    fun fromJson(reader: JsonReader): External {
        val external = External()
        when (reader.peek()) {
            JsonReader.Token.BOOLEAN -> {
                external.external = reader.nextBoolean()
            }
            JsonReader.Token.BEGIN_OBJECT -> {
                reader.beginObject()
                val name = reader.nextName()
                val value = reader.nextString()
                external.external = true
                external.name = value
                reader.endObject()
            }
            else -> {
                // ...
            }
        }
        return external
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy