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

openapi.templates.kora.kotlinEnumClass.mustache Maven / Gradle / Ivy

The newest version!
  /**
   * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}}
   */
  @ru.tinkoff.kora.common.annotation.Generated("openapi generator kora")
  {{#additionalEnumTypeAnnotations}}
  {{{.}}}
  {{/additionalEnumTypeAnnotations}}
  enum class {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} {
{{#allowableValues}}{{#enumVars}}
    {{{name}}} {
      override fun getValue() : {{{dataType}}} {
        return {{{value}}}
      }
    }{{^-last}},{{/-last}}{{#-last}};{{/-last}}
{{/enumVars}}{{/allowableValues}}

    override fun toString(): String = {{#dataType}}{{#isString}}getValue(){{/isString}}{{^isString}}"${getValue()}"{{/isString}}{{/dataType}}

    abstract fun getValue() : {{{dataType}}}

    companion object {
      private val values = values()

      @JvmStatic
      fun fromValue(value: {{{dataType}}}): {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{#isNullable}}?{{/isNullable}} {
        return values.firstOrNull { it.getValue() == value }{{^isNullable}} ?: throw IllegalArgumentException("Unexpected value '$value'"){{/isNullable}}
      }
    }

    @ru.tinkoff.kora.common.annotation.Generated("openapi generator kora")
    @ru.tinkoff.kora.common.Component
    class {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}JsonWriter(valueWriter: ru.tinkoff.kora.json.common.JsonWriter<{{{dataType}}}>)
        : ru.tinkoff.kora.json.common.JsonWriter<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> {
      private val delegate = ru.tinkoff.kora.json.common.EnumJsonWriter(
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values(),
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}::getValue,
          valueWriter
      )

      override fun write(gen: com.fasterxml.jackson.core.JsonGenerator, value: {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}?) {
        this.delegate.write(gen, value)
      }
    }

    @ru.tinkoff.kora.common.annotation.Generated("openapi generator kora")
    @ru.tinkoff.kora.common.Component
    class {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}JsonReader(valueReader: ru.tinkoff.kora.json.common.JsonReader<{{{dataType}}}>)
        : ru.tinkoff.kora.json.common.JsonReader<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> {
      private val delegate = ru.tinkoff.kora.json.common.EnumJsonReader(
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values(),
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}::getValue,
          valueReader
      )

      override fun read(parser: com.fasterxml.jackson.core.JsonParser) : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} {
        return this.delegate.read(parser)!!
      }
    }

    @ru.tinkoff.kora.common.annotation.Generated("openapi generator kora")
    @ru.tinkoff.kora.common.Component
    class {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}NullableJsonWriter(valueWriter: ru.tinkoff.kora.json.common.JsonWriter<{{{dataType}}}>)
        : ru.tinkoff.kora.json.common.JsonWriter<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}?> {
      private val delegate = ru.tinkoff.kora.json.common.EnumJsonWriter(
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values(),
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}::getValue,
          valueWriter
      )

      override fun write(gen: com.fasterxml.jackson.core.JsonGenerator, value: {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}?) {
        this.delegate.write(gen, value)
      }
    }

    @ru.tinkoff.kora.common.annotation.Generated("openapi generator kora")
    @ru.tinkoff.kora.common.Component
    class {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}NullableJsonReader(valueReader: ru.tinkoff.kora.json.common.JsonReader<{{{dataType}}}>)
        : ru.tinkoff.kora.json.common.JsonReader<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}?> {
      private val delegate = ru.tinkoff.kora.json.common.EnumJsonReader(
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values(),
          {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}::getValue,
          valueReader
      )

      override fun read(parser: com.fasterxml.jackson.core.JsonParser) : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}? {
        return this.delegate.read(parser)
      }
    }
{{^isClient}}

    @ru.tinkoff.kora.common.annotation.Generated("openapi generator kora server")
    @ru.tinkoff.kora.common.Component
    class {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}StringParameterReader : ru.tinkoff.kora.http.server.common.handler.StringParameterReader<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> {
      private val delegate = ru.tinkoff.kora.http.server.common.handler.EnumStringParameterReader(
        {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values(),
        { it.getValue().toString() }
      )

      override fun read(string: String): {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} {
        return this.delegate.read(string)
      }
    }
{{/isClient}}
{{#isClient}}

    @ru.tinkoff.kora.common.annotation.Generated("openapi generator kora client")
    @ru.tinkoff.kora.common.Component
    class {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}StringParameterConverter : ru.tinkoff.kora.http.client.common.writer.StringParameterConverter<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> {
      private val delegate = ru.tinkoff.kora.http.client.common.writer.EnumStringParameterConverter(
        {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values(),
        { it.getValue().toString() }
      )

      override fun convert(value: {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}): String {
        return this.delegate.convert(value)
      }
    }
{{/isClient}}
  }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy