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 }