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

commonMain.protokt.v1.google.api.control.kt Maven / Gradle / Ivy

// Generated by protokt version 1.0.0-beta.2. Do not modify.
// Source: google/api/control.proto
@file:Suppress("DEPRECATION")

package protokt.v1.google.api

import protokt.v1.AbstractDeserializer
import protokt.v1.AbstractMessage
import protokt.v1.BuilderDsl
import protokt.v1.Collections.copyList
import protokt.v1.Collections.unmodifiableList
import protokt.v1.GeneratedMessage
import protokt.v1.GeneratedProperty
import protokt.v1.Reader
import protokt.v1.SizeCodecs.sizeOf
import protokt.v1.UnknownFieldSet
import protokt.v1.Writer
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.MutableList
import kotlin.jvm.JvmStatic

/**
 * Selects and configures the service controller used by the service.
 *
 *  Example:
 *
 *      control:       environment: servicecontrol.googleapis.com
 */
@GeneratedMessage("google.api.Control")
public class Control private constructor(
  /**
   * The service controller environment to use. If empty, no control plane feature (like quota and
   * billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com
   */
  @GeneratedProperty(1)
  public val environment: String,
  /**
   * Defines policies applying to the API methods of the service.
   */
  @GeneratedProperty(4)
  public val methodPolicies: List,
  public val unknownFields: UnknownFieldSet = UnknownFieldSet.empty()
) : AbstractMessage() {
  private val `$messageSize`: Int by lazy {
    var result = 0
    if (environment.isNotEmpty()) {
      result += sizeOf(10u) + sizeOf(environment)
    }
    if (methodPolicies.isNotEmpty()) {
      result += (sizeOf(34u) * methodPolicies.size) + methodPolicies.sumOf { sizeOf(it) }
    }
    result += unknownFields.size()
    result
  }

  override fun messageSize(): Int = `$messageSize`

  override fun serialize(writer: Writer) {
    if (environment.isNotEmpty()) {
      writer.writeTag(10u).write(environment)
    }
    methodPolicies.forEach { writer.writeTag(34u).write(it) }
    writer.writeUnknown(unknownFields)
  }

  override fun equals(other: Any?): Boolean =
    other is Control &&
      other.environment == environment &&
      other.methodPolicies == methodPolicies &&
      other.unknownFields == unknownFields

  override fun hashCode(): Int {
    var result = unknownFields.hashCode()
    result = 31 * result + environment.hashCode()
    result = 31 * result + methodPolicies.hashCode()
    return result
  }

  override fun toString(): String =
    "Control(" +
      "environment=$environment, " +
      "methodPolicies=$methodPolicies" +
      if (unknownFields.isEmpty()) ")" else ", unknownFields=$unknownFields)"

  public fun copy(builder: Builder.() -> Unit): Control =
    Builder().apply {
      environment = [email protected]
      methodPolicies = [email protected]
      unknownFields = [email protected]
      builder()
    }.build()

  @BuilderDsl
  public class Builder {
    public var environment: String = ""

    public var methodPolicies: List = emptyList()
      set(newValue) {
        field = copyList(newValue)
      }

    public var unknownFields: UnknownFieldSet = UnknownFieldSet.empty()

    public fun build(): Control =
      Control(
        environment,
        unmodifiableList(methodPolicies),
        unknownFields
      )
  }

  public companion object Deserializer : AbstractDeserializer() {
    @JvmStatic
    override fun deserialize(reader: Reader): Control {
      var environment = ""
      var methodPolicies: MutableList? = null
      var unknownFields: UnknownFieldSet.Builder? = null

      while (true) {
        when (reader.readTag()) {
          0u -> return Control(
            environment,
            unmodifiableList(methodPolicies),
            UnknownFieldSet.from(unknownFields)
          )
          10u -> environment = reader.readString()
          34u ->
            methodPolicies =
              (methodPolicies ?: mutableListOf()).apply {
                reader.readRepeated(false) {
                  add(reader.readMessage(MethodPolicy))
                }
              }
          else ->
            unknownFields =
              (unknownFields ?: UnknownFieldSet.Builder()).also {
                it.add(reader.readUnknown())
              }
        }
      }
    }

    @JvmStatic
    public operator fun invoke(dsl: Builder.() -> Unit): Control = Builder().apply(dsl).build()
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy