de.gesellix.docker.remote.api.MountBindOptionsJsonAdapter.kt Maven / Gradle / Ivy
// 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.`internal`.Util
import java.lang.NullPointerException
import java.lang.reflect.Constructor
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.emptySet
import kotlin.jvm.Volatile
import kotlin.text.buildString
public class MountBindOptionsJsonAdapter(
moshi: Moshi,
) : JsonAdapter() {
private val options: JsonReader.Options = JsonReader.Options.of("Propagation", "NonRecursive")
private val nullablePropagationAdapter: JsonAdapter =
moshi.adapter(MountBindOptions.Propagation::class.java, emptySet(), "propagation")
private val nullableBooleanAdapter: JsonAdapter =
moshi.adapter(Boolean::class.javaObjectType, emptySet(), "nonRecursive")
@Volatile
private var constructorRef: Constructor? = null
public override fun toString(): String = buildString(38) {
append("GeneratedJsonAdapter(").append("MountBindOptions").append(')') }
public override fun fromJson(reader: JsonReader): MountBindOptions {
var propagation: MountBindOptions.Propagation? = null
var nonRecursive: Boolean? = null
var mask0 = -1
reader.beginObject()
while (reader.hasNext()) {
when (reader.selectName(options)) {
0 -> {
propagation = nullablePropagationAdapter.fromJson(reader)
// $mask = $mask and (1 shl 0).inv()
mask0 = mask0 and 0xfffffffe.toInt()
}
1 -> {
nonRecursive = nullableBooleanAdapter.fromJson(reader)
// $mask = $mask and (1 shl 1).inv()
mask0 = mask0 and 0xfffffffd.toInt()
}
-1 -> {
// Unknown name, skip it.
reader.skipName()
reader.skipValue()
}
}
}
reader.endObject()
if (mask0 == 0xfffffffc.toInt()) {
// All parameters with defaults are set, invoke the constructor directly
return MountBindOptions(
propagation = propagation,
nonRecursive = nonRecursive
)
} else {
// Reflectively invoke the synthetic defaults constructor
@Suppress("UNCHECKED_CAST")
val localConstructor: Constructor = this.constructorRef ?:
MountBindOptions::class.java.getDeclaredConstructor(MountBindOptions.Propagation::class.java,
Boolean::class.javaObjectType, Int::class.javaPrimitiveType,
Util.DEFAULT_CONSTRUCTOR_MARKER).also { this.constructorRef = it }
return localConstructor.newInstance(
propagation,
nonRecursive,
mask0,
/* DefaultConstructorMarker */ null
)
}
}
public override fun toJson(writer: JsonWriter, value_: MountBindOptions?): Unit {
if (value_ == null) {
throw NullPointerException("value_ was null! Wrap in .nullSafe() to write nullable values.")
}
writer.beginObject()
writer.name("Propagation")
nullablePropagationAdapter.toJson(writer, value_.propagation)
writer.name("NonRecursive")
nullableBooleanAdapter.toJson(writer, value_.nonRecursive)
writer.endObject()
}
}