de.gesellix.docker.remote.api.ServiceEndpointJsonAdapter.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of docker-remote-api-model-1-45 Show documentation
Show all versions of docker-remote-api-model-1-45 Show documentation
API model for the Docker remote api v1.45
// Code generated by moshi-kotlin-codegen. Do not edit.
@file:Suppress("DEPRECATION", "unused", "UNUSED_PARAMETER", "ClassName", "REDUNDANT_PROJECTION",
"RedundantExplicitType", "LocalVariableName", "RedundantVisibilityModifier",
"PLATFORM_CLASS_MAPPED_TO_KOTLIN", "IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION")
package de.gesellix.docker.remote.api
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.JsonReader
import com.squareup.moshi.JsonWriter
import com.squareup.moshi.Moshi
import com.squareup.moshi.Types
import com.squareup.moshi.`internal`.Util
import java.lang.NullPointerException
import java.lang.reflect.Constructor
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.MutableList
import kotlin.collections.emptySet
import kotlin.jvm.Volatile
import kotlin.text.buildString
public class ServiceEndpointJsonAdapter(
moshi: Moshi,
) : JsonAdapter() {
private val options: JsonReader.Options = JsonReader.Options.of("Spec", "Ports", "VirtualIPs")
private val nullableEndpointSpecAdapter: JsonAdapter =
moshi.adapter(EndpointSpec::class.java, emptySet(), "spec")
private val nullableMutableListOfEndpointPortConfigAdapter:
JsonAdapter?> =
moshi.adapter(Types.newParameterizedType(MutableList::class.java,
EndpointPortConfig::class.java), emptySet(), "ports")
private val nullableMutableListOfServiceEndpointVirtualIPsInnerAdapter:
JsonAdapter?> =
moshi.adapter(Types.newParameterizedType(MutableList::class.java,
ServiceEndpointVirtualIPsInner::class.java), emptySet(), "virtualIPs")
@Volatile
private var constructorRef: Constructor? = null
public override fun toString(): String = buildString(37) {
append("GeneratedJsonAdapter(").append("ServiceEndpoint").append(')') }
public override fun fromJson(reader: JsonReader): ServiceEndpoint {
var spec: EndpointSpec? = null
var ports: MutableList? = null
var virtualIPs: MutableList? = null
var mask0 = -1
reader.beginObject()
while (reader.hasNext()) {
when (reader.selectName(options)) {
0 -> {
spec = nullableEndpointSpecAdapter.fromJson(reader)
// $mask = $mask and (1 shl 0).inv()
mask0 = mask0 and 0xfffffffe.toInt()
}
1 -> {
ports = nullableMutableListOfEndpointPortConfigAdapter.fromJson(reader)
// $mask = $mask and (1 shl 1).inv()
mask0 = mask0 and 0xfffffffd.toInt()
}
2 -> {
virtualIPs = nullableMutableListOfServiceEndpointVirtualIPsInnerAdapter.fromJson(reader)
// $mask = $mask and (1 shl 2).inv()
mask0 = mask0 and 0xfffffffb.toInt()
}
-1 -> {
// Unknown name, skip it.
reader.skipName()
reader.skipValue()
}
}
}
reader.endObject()
if (mask0 == 0xfffffff8.toInt()) {
// All parameters with defaults are set, invoke the constructor directly
return ServiceEndpoint(
spec = spec,
ports = ports,
virtualIPs = virtualIPs
)
} else {
// Reflectively invoke the synthetic defaults constructor
@Suppress("UNCHECKED_CAST")
val localConstructor: Constructor = this.constructorRef ?:
ServiceEndpoint::class.java.getDeclaredConstructor(EndpointSpec::class.java,
MutableList::class.java, MutableList::class.java, Int::class.javaPrimitiveType,
Util.DEFAULT_CONSTRUCTOR_MARKER).also { this.constructorRef = it }
return localConstructor.newInstance(
spec,
ports,
virtualIPs,
mask0,
/* DefaultConstructorMarker */ null
)
}
}
public override fun toJson(writer: JsonWriter, value_: ServiceEndpoint?): Unit {
if (value_ == null) {
throw NullPointerException("value_ was null! Wrap in .nullSafe() to write nullable values.")
}
writer.beginObject()
writer.name("Spec")
nullableEndpointSpecAdapter.toJson(writer, value_.spec)
writer.name("Ports")
nullableMutableListOfEndpointPortConfigAdapter.toJson(writer, value_.ports)
writer.name("VirtualIPs")
nullableMutableListOfServiceEndpointVirtualIPsInnerAdapter.toJson(writer, value_.virtualIPs)
writer.endObject()
}
}