package de.nccloud.common.v0.models import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonSubTypes import com.fasterxml.jackson.annotation.JsonTypeInfo import java.io.Serializable import kotlin.String /** * This code was generated by [models.generator.kotlin.KotlinGenerator] * Represents a link to a resource. */ @JsonIgnoreProperties(ignoreUnknown=true) @JsonTypeInfo( use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, include ) @JsonSubTypes( JsonSubTypes.Type(value = de.nccloud.common.v0.models.Link.String::class, name = "string"), JsonSubTypes.Type(value = de.nccloud.common.v0.models.Link.LinkObject::class, name = "link_object"), JsonSubTypes.Type(value = de.nccloud.common.v0.models.Link.LinkUndefined::class) ) sealed class Link { /** * This code was generated by [models.generator.kotlin.KotlinGenerator] * Represents a link with some meta information. */ @JsonIgnoreProperties(ignoreUnknown=true) @JsonTypeInfo(use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NONE) data class LinkObject( @JsonProperty("href") @get:JsonProperty("href") val href: String, @JsonProperty("title") @get:JsonProperty("title") val title: String?, @JsonProperty("type") @get:JsonProperty("type") val type: String? ) : Link(), Serializable { fun toJsonString(): String = de.nccloud.common.v0.models.JacksonObjectMapperFactory.create().writeValueAsString(this) companion object { fun parseJson(json: String): LinkObject = de.nccloud.common.v0.models.JacksonObjectMapperFactory.create().readValue( json, LinkObject::class.java) } } @JsonTypeInfo(use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NONE) object LinkUndefined : Link() companion object { fun parseJson(json: String): Link = de.nccloud.common.v0.models.JacksonObjectMapperFactory.create().readValue( json, Link::class.java) } }