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  }