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

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

There is a newer version: 2.1021.0
Show 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.PaymentOperatorOption
import tech.carpentum.sdk.payment.model.SettlementMethodCode

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

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

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

  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(49) {
      append("GeneratedJsonAdapter(").append("SettlementPaymentOptionJson").append(')') }

  public override fun fromJson(reader: JsonReader): SettlementPaymentOptionJson {
    var paymentMethodCode: SettlementMethodCode? = null
    var paymentMethodCodeSet: Boolean = false
    var currencyCode: CurrencyCode? = null
    var currencyCodeSet: 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 -> {
          paymentMethodCode = nullableSettlementMethodCodeAdapter.fromJson(reader)
          paymentMethodCodeSet = true
        }
        1 -> {
          currencyCode = nullableCurrencyCodeAdapter.fromJson(reader)
          currencyCodeSet = true
        }
        2 -> {
          transactionAmountLimit = nullableIntervalNumberToAdapter.fromJson(reader)
          transactionAmountLimitSet = true
        }
        3 -> {
          isAvailable = nullableBooleanAdapter.fromJson(reader)
          isAvailableSet = true
        }
        4 -> {
          paymentOperators = nullableListOfPaymentOperatorOptionAdapter.fromJson(reader)
          paymentOperatorsSet = true
        }
        -1 -> {
          // Unknown name, skip it.
          reader.skipName()
          reader.skipValue()
        }
      }
    }
    reader.endObject()
    val result: SettlementPaymentOptionJson
    result = SettlementPaymentOptionJson(
    )
    if (paymentMethodCodeSet) {
      result.paymentMethodCode = paymentMethodCode
    }
    if (currencyCodeSet) {
      result.currencyCode = currencyCode
    }
    if (transactionAmountLimitSet) {
      result.transactionAmountLimit = transactionAmountLimit
    }
    if (isAvailableSet) {
      result.isAvailable = isAvailable
    }
    if (paymentOperatorsSet) {
      result.paymentOperators = paymentOperators
    }
    return result
  }

  public override fun toJson(writer: JsonWriter, value_: SettlementPaymentOptionJson?): Unit {
    if (value_ == null) {
      throw NullPointerException("value_ was null! Wrap in .nullSafe() to write nullable values.")
    }
    writer.beginObject()
    writer.name("paymentMethodCode")
    nullableSettlementMethodCodeAdapter.toJson(writer, value_.paymentMethodCode)
    writer.name("currencyCode")
    nullableCurrencyCodeAdapter.toJson(writer, value_.currencyCode)
    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