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

tech.carpentum.sdk.payment.internal.generated.model.PaymentOptionJsonJsonAdapter.kt Maven / Gradle / Ivy

The newest version!
// 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 tech.carpentum.sdk.payment.`internal`.generated.model

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 java.lang.NullPointerException
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.emptySet
import kotlin.text.buildString
import tech.carpentum.sdk.payment.model.CurrencyCode
import tech.carpentum.sdk.payment.model.IntervalNumberTo
import tech.carpentum.sdk.payment.model.PayinMethodCode
import tech.carpentum.sdk.payment.model.PaymentOperatorOption
import tech.carpentum.sdk.payment.model.SegmentCode

public class PaymentOptionJsonJsonAdapter(
  moshi: Moshi,
) : JsonAdapter() {
  private val options: JsonReader.Options = JsonReader.Options.of("paymentTypeCode",
      "paymentMethodCode", "currencyCode", "segmentCode", "transactionAmountLimit", "isAvailable",
      "paymentOperators")

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

  private val nullablePayinMethodCodeAdapter: JsonAdapter =
      moshi.adapter(PayinMethodCode::class.java, emptySet(), "paymentMethodCode")

  private val nullableCurrencyCodeAdapter: JsonAdapter =
      moshi.adapter(CurrencyCode::class.java, emptySet(), "currencyCode")

  private val nullableSegmentCodeAdapter: JsonAdapter =
      moshi.adapter(SegmentCode::class.java, emptySet(), "segmentCode")

  private val nullableIntervalNumberToAdapter: JsonAdapter =
      moshi.adapter(IntervalNumberTo::class.java, emptySet(), "transactionAmountLimit")

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

  private val nullableListOfPaymentOperatorOptionAdapter: JsonAdapter?>
      = moshi.adapter(Types.newParameterizedType(List::class.java,
      PaymentOperatorOption::class.java), emptySet(), "paymentOperators")

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

  public override fun fromJson(reader: JsonReader): PaymentOptionJson {
    var paymentTypeCode: String? = null
    var paymentTypeCodeSet: Boolean = false
    var paymentMethodCode: PayinMethodCode? = null
    var paymentMethodCodeSet: Boolean = false
    var currencyCode: CurrencyCode? = null
    var currencyCodeSet: Boolean = false
    var segmentCode: SegmentCode? = null
    var segmentCodeSet: Boolean = false
    var transactionAmountLimit: IntervalNumberTo? = null
    var transactionAmountLimitSet: Boolean = false
    var isAvailable: Boolean? = null
    var isAvailableSet: Boolean = false
    var paymentOperators: List? = null
    var paymentOperatorsSet: Boolean = false
    reader.beginObject()
    while (reader.hasNext()) {
      when (reader.selectName(options)) {
        0 -> {
          paymentTypeCode = nullableStringAdapter.fromJson(reader)
          paymentTypeCodeSet = true
        }
        1 -> {
          paymentMethodCode = nullablePayinMethodCodeAdapter.fromJson(reader)
          paymentMethodCodeSet = true
        }
        2 -> {
          currencyCode = nullableCurrencyCodeAdapter.fromJson(reader)
          currencyCodeSet = true
        }
        3 -> {
          segmentCode = nullableSegmentCodeAdapter.fromJson(reader)
          segmentCodeSet = true
        }
        4 -> {
          transactionAmountLimit = nullableIntervalNumberToAdapter.fromJson(reader)
          transactionAmountLimitSet = true
        }
        5 -> {
          isAvailable = nullableBooleanAdapter.fromJson(reader)
          isAvailableSet = true
        }
        6 -> {
          paymentOperators = nullableListOfPaymentOperatorOptionAdapter.fromJson(reader)
          paymentOperatorsSet = true
        }
        -1 -> {
          // Unknown name, skip it.
          reader.skipName()
          reader.skipValue()
        }
      }
    }
    reader.endObject()
    val result: PaymentOptionJson
    result = PaymentOptionJson(
    )
    if (paymentTypeCodeSet) {
      result.paymentTypeCode = paymentTypeCode
    }
    if (paymentMethodCodeSet) {
      result.paymentMethodCode = paymentMethodCode
    }
    if (currencyCodeSet) {
      result.currencyCode = currencyCode
    }
    if (segmentCodeSet) {
      result.segmentCode = segmentCode
    }
    if (transactionAmountLimitSet) {
      result.transactionAmountLimit = transactionAmountLimit
    }
    if (isAvailableSet) {
      result.isAvailable = isAvailable
    }
    if (paymentOperatorsSet) {
      result.paymentOperators = paymentOperators
    }
    return result
  }

  public override fun toJson(writer: JsonWriter, value_: PaymentOptionJson?): Unit {
    if (value_ == null) {
      throw NullPointerException("value_ was null! Wrap in .nullSafe() to write nullable values.")
    }
    writer.beginObject()
    writer.name("paymentTypeCode")
    nullableStringAdapter.toJson(writer, value_.paymentTypeCode)
    writer.name("paymentMethodCode")
    nullablePayinMethodCodeAdapter.toJson(writer, value_.paymentMethodCode)
    writer.name("currencyCode")
    nullableCurrencyCodeAdapter.toJson(writer, value_.currencyCode)
    writer.name("segmentCode")
    nullableSegmentCodeAdapter.toJson(writer, value_.segmentCode)
    writer.name("transactionAmountLimit")
    nullableIntervalNumberToAdapter.toJson(writer, value_.transactionAmountLimit)
    writer.name("isAvailable")
    nullableBooleanAdapter.toJson(writer, value_.isAvailable)
    writer.name("paymentOperators")
    nullableListOfPaymentOperatorOptionAdapter.toJson(writer, value_.paymentOperators)
    writer.endObject()
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy