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

de.gesellix.docker.remote.api.MountJsonAdapter.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 MountJsonAdapter(
  moshi: Moshi,
) : JsonAdapter() {
  private val options: JsonReader.Options = JsonReader.Options.of("Target", "Source", "Type",
      "ReadOnly", "Consistency", "BindOptions", "VolumeOptions", "TmpfsOptions")

  private val nullableStringAdapter: JsonAdapter = moshi.adapter(String::class.java,
      emptySet(), "target")

  private val nullableTypeAdapter: JsonAdapter = moshi.adapter(Mount.Type::class.java,
      emptySet(), "type")

  private val nullableBooleanAdapter: JsonAdapter =
      moshi.adapter(Boolean::class.javaObjectType, emptySet(), "readOnly")

  private val nullableMountBindOptionsAdapter: JsonAdapter =
      moshi.adapter(MountBindOptions::class.java, emptySet(), "bindOptions")

  private val nullableMountVolumeOptionsAdapter: JsonAdapter =
      moshi.adapter(MountVolumeOptions::class.java, emptySet(), "volumeOptions")

  private val nullableMountTmpfsOptionsAdapter: JsonAdapter =
      moshi.adapter(MountTmpfsOptions::class.java, emptySet(), "tmpfsOptions")

  @Volatile
  private var constructorRef: Constructor? = null

  public override fun toString(): String = buildString(27) {
      append("GeneratedJsonAdapter(").append("Mount").append(')') }

  public override fun fromJson(reader: JsonReader): Mount {
    var target: String? = null
    var source: String? = null
    var type: Mount.Type? = null
    var readOnly: Boolean? = null
    var consistency: String? = null
    var bindOptions: MountBindOptions? = null
    var volumeOptions: MountVolumeOptions? = null
    var tmpfsOptions: MountTmpfsOptions? = null
    var mask0 = -1
    reader.beginObject()
    while (reader.hasNext()) {
      when (reader.selectName(options)) {
        0 -> {
          target = nullableStringAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 0).inv()
          mask0 = mask0 and 0xfffffffe.toInt()
        }
        1 -> {
          source = nullableStringAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 1).inv()
          mask0 = mask0 and 0xfffffffd.toInt()
        }
        2 -> {
          type = nullableTypeAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 2).inv()
          mask0 = mask0 and 0xfffffffb.toInt()
        }
        3 -> {
          readOnly = nullableBooleanAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 3).inv()
          mask0 = mask0 and 0xfffffff7.toInt()
        }
        4 -> {
          consistency = nullableStringAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 4).inv()
          mask0 = mask0 and 0xffffffef.toInt()
        }
        5 -> {
          bindOptions = nullableMountBindOptionsAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 5).inv()
          mask0 = mask0 and 0xffffffdf.toInt()
        }
        6 -> {
          volumeOptions = nullableMountVolumeOptionsAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 6).inv()
          mask0 = mask0 and 0xffffffbf.toInt()
        }
        7 -> {
          tmpfsOptions = nullableMountTmpfsOptionsAdapter.fromJson(reader)
          // $mask = $mask and (1 shl 7).inv()
          mask0 = mask0 and 0xffffff7f.toInt()
        }
        -1 -> {
          // Unknown name, skip it.
          reader.skipName()
          reader.skipValue()
        }
      }
    }
    reader.endObject()
    if (mask0 == 0xffffff00.toInt()) {
      // All parameters with defaults are set, invoke the constructor directly
      return  Mount(
          target = target,
          source = source,
          type = type,
          readOnly = readOnly,
          consistency = consistency,
          bindOptions = bindOptions,
          volumeOptions = volumeOptions,
          tmpfsOptions = tmpfsOptions
      )
    } else {
      // Reflectively invoke the synthetic defaults constructor
      @Suppress("UNCHECKED_CAST")
      val localConstructor: Constructor = this.constructorRef ?:
          Mount::class.java.getDeclaredConstructor(String::class.java, String::class.java,
          Mount.Type::class.java, Boolean::class.javaObjectType, String::class.java,
          MountBindOptions::class.java, MountVolumeOptions::class.java,
          MountTmpfsOptions::class.java, Int::class.javaPrimitiveType,
          Util.DEFAULT_CONSTRUCTOR_MARKER).also { this.constructorRef = it }
      return localConstructor.newInstance(
          target,
          source,
          type,
          readOnly,
          consistency,
          bindOptions,
          volumeOptions,
          tmpfsOptions,
          mask0,
          /* DefaultConstructorMarker */ null
      )
    }
  }

  public override fun toJson(writer: JsonWriter, value_: Mount?): Unit {
    if (value_ == null) {
      throw NullPointerException("value_ was null! Wrap in .nullSafe() to write nullable values.")
    }
    writer.beginObject()
    writer.name("Target")
    nullableStringAdapter.toJson(writer, value_.target)
    writer.name("Source")
    nullableStringAdapter.toJson(writer, value_.source)
    writer.name("Type")
    nullableTypeAdapter.toJson(writer, value_.type)
    writer.name("ReadOnly")
    nullableBooleanAdapter.toJson(writer, value_.readOnly)
    writer.name("Consistency")
    nullableStringAdapter.toJson(writer, value_.consistency)
    writer.name("BindOptions")
    nullableMountBindOptionsAdapter.toJson(writer, value_.bindOptions)
    writer.name("VolumeOptions")
    nullableMountVolumeOptionsAdapter.toJson(writer, value_.volumeOptions)
    writer.name("TmpfsOptions")
    nullableMountTmpfsOptionsAdapter.toJson(writer, value_.tmpfsOptions)
    writer.endObject()
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy