github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/microprofile/enumOuterClass.mustache (about) 1 {{#jackson}} 2 import com.fasterxml.jackson.annotation.JsonCreator; 3 import com.fasterxml.jackson.annotation.JsonValue; 4 {{/jackson}} 5 6 /** 7 * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}} 8 */ 9 public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} { 10 {{#gson}} 11 {{#allowableValues}}{{#enumVars}} 12 @SerializedName({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) 13 {{{name}}}({{{value}}}){{^-last}}, 14 {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}} 15 {{/gson}} 16 {{^gson}} 17 {{#allowableValues}}{{#enumVars}} 18 {{{name}}}({{{value}}}){{^-last}}, 19 {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}} 20 {{/gson}} 21 22 private {{{dataType}}} value; 23 24 {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) { 25 this.value = value; 26 } 27 28 @Override 29 {{#jackson}} 30 @JsonValue 31 {{/jackson}} 32 public String toString() { 33 return String.valueOf(value); 34 } 35 36 {{#jackson}} 37 @JsonCreator 38 {{/jackson}} 39 public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) { 40 for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) { 41 if (String.valueOf(b.value).equals(text)) { 42 return b; 43 } 44 } 45 {{#useNullForUnknownEnumValue}}return null;{{/useNullForUnknownEnumValue}}{{^useNullForUnknownEnumValue}}throw new IllegalArgumentException("Unexpected value '" + text + "'");{{/useNullForUnknownEnumValue}} 46 } 47 48 }