github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/modelInnerEnum.mustache (about)

     1    /**
     2     * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}}
     3     */
     4  {{#gson}}
     5    @JsonAdapter({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}.Adapter.class)
     6  {{/gson}}
     7    public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} {
     8      {{#allowableValues}}
     9        {{#enumVars}}
    10      {{#enumDescription}}
    11      /**
    12       * {{enumDescription}}
    13       */
    14      {{/enumDescription}}
    15      {{{name}}}({{{value}}}){{^-last}},
    16      {{/-last}}{{#-last}};{{/-last}}
    17        {{/enumVars}}
    18      {{/allowableValues}}
    19  
    20      private {{{dataType}}} value;
    21  
    22      {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}({{{dataType}}} value) {
    23        this.value = value;
    24      }
    25  
    26  {{#jackson}}
    27      @JsonValue
    28  {{/jackson}}
    29      public {{{dataType}}} getValue() {
    30        return value;
    31      }
    32  
    33      @Override
    34      public String toString() {
    35        return String.valueOf(value);
    36      }
    37  
    38  {{#jackson}}
    39      @JsonCreator
    40  {{/jackson}}
    41      public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
    42        for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
    43          if (b.value.equals(value)) {
    44            return b;
    45          }
    46        }
    47        {{#isNullable}}return null;{{/isNullable}}{{^isNullable}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/isNullable}}
    48      }
    49  {{#gson}}
    50  
    51      public static class Adapter extends TypeAdapter<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}> {
    52        @Override
    53        public void write(final JsonWriter jsonWriter, final {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} enumeration) throws IOException {
    54          jsonWriter.value(enumeration.getValue());
    55        }
    56  
    57        @Override
    58        public {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} read(final JsonReader jsonReader) throws IOException {
    59          {{^isNumber}}{{{dataType}}}{{/isNumber}}{{#isNumber}}String{{/isNumber}} value = {{#isFloat}}(float){{/isFloat}} jsonReader.{{#isNumber}}nextString(){{/isNumber}}{{#isInteger}}nextInt(){{/isInteger}}{{^isNumber}}{{^isInteger}}{{#isFloat}}nextDouble{{/isFloat}}{{^isFloat}}next{{{dataType}}}{{/isFloat}}(){{/isInteger}}{{/isNumber}};
    60          return {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}.fromValue({{#isNumber}}new BigDecimal({{/isNumber}}value{{#isNumber}}){{/isNumber}});
    61        }
    62      }
    63  {{/gson}}
    64    }