package de.nccloud.reporting.api.v0.models import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonProperty import de.nccloud.reporting.api.v0.enums.ScalarType import java.io.Serializable import kotlin.Boolean import kotlin.String import kotlin.collections.Map /** * This code was generated by [models.generator.kotlin.KotlinGenerator] * Single field of a topic schema. A field can be used for projecting, filtering and sorting in * reports. */ @JsonIgnoreProperties(ignoreUnknown=true) data class Field( @JsonProperty("type") @get:JsonProperty("type") val type: ScalarType, @JsonProperty("is_array") @get:JsonProperty("is_array") val isArray: Boolean, @JsonProperty("fields") @get:JsonProperty("fields") val fields: Map?, @JsonProperty("label") @get:JsonProperty("label") val label: String?, @JsonProperty("description") @get:JsonProperty("description") val description: String? ) : Serializable { fun toJsonString(): String = de.nccloud.reporting.api.v0.models.JacksonObjectMapperFactory.create().writeValueAsString(this) companion object { fun parseJson(json: String): Field = de.nccloud.reporting.api.v0.models.JacksonObjectMapperFactory.create().readValue( json, Field::class.java) } }