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

     1  @XmlType(name="{{datatypeWithEnum}}")
     2  @XmlEnum({{dataType}}.class)
     3  public enum {{datatypeWithEnum}} {
     4  
     5      {{#allowableValues}}
     6  {{#enumVars}}@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) {{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
     7      {{/allowableValues}}
     8  
     9  
    10      private {{dataType}} value;
    11  
    12      {{datatypeWithEnum}} ({{dataType}} v) {
    13          value = v;
    14      }
    15  
    16      public {{dataType}} value() {
    17          return value;
    18      }
    19  
    20      @Override
    21      public String toString() {
    22          return String.valueOf(value);
    23      }
    24  
    25      public static {{datatypeWithEnum}} fromValue(String v) {
    26          for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
    27              if (String.valueOf(b.value).equals(v)) {
    28                  return b;
    29              }
    30          }
    31          {{#useNullForUnknownEnumValue}}return null;{{/useNullForUnknownEnumValue}}{{^useNullForUnknownEnumValue}}throw new IllegalArgumentException("Unexpected value '" + v + "'");{{/useNullForUnknownEnumValue}}
    32      }
    33  }