All Downloads are FREE. Search and download functionalities are using the official Maven repository.

handlebars.JavaMicronaut.enumOuterClass.mustache Maven / Gradle / Ivy

There is a newer version: 1.0.54
Show newest version
{{#jackson}}
import com.fasterxml.jackson.annotation.JsonCreator;
{{/jackson}}

/**
 * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}}
 */
public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} {
  {{#allowableValues}}
    {{#enumVars}}
    {{#gson}}
    {{#value}}
    @SerializedName({{{toQuotedWord value}}})
    {{/value}}
    {{/gson}}
    {{{name}}}({{#value}}{{{value}}}{{/value}}{{^value}}null{{/value}}){{^@last}},{{/@last}}{{#@last}};{{/@last}}
    {{/enumVars}}
    {{/allowableValues}}

  private {{{dataType}}} value;

  {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
    this.value = value;
  }

  @Override
  @JsonValue
  public String toString() {
    return String.valueOf(value);
  }

  @JsonCreator
  public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) {
    for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
      if (String.valueOf(b.value).equals(text)) {
        return b;
      }
    }
    {{^errorOnUnknownEnum}}return null;{{/errorOnUnknownEnum}}{{#errorOnUnknownEnum}}throw new IllegalArgumentException("Unexpected value '" + text + "' for '{{{classname}}}' enum.");{{/errorOnUnknownEnum}}
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy