
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