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

v2.JavaInflector.enumClass.mustache Maven / Gradle / Ivy

There is a newer version: 1.0.0-rc1
Show newest version
  /**
   * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}}
   */
  public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} {
    {{#if gson}}
        {{#if allowableValues}}
            {{#if allowableValues.enumVars}}
    @SerializedName({{#is this 'integer'}}"{{/is}}{{#is this 'double'}}"{{/is}}{{#is this 'long'}}"{{/is}}{{#is this 'float'}}"{{/is}}{{{value}}}{{#is this 'integer'}}"{{/is}}{{#is this 'double'}}"{{/is}}{{#is this 'long'}}"{{/is}}{{#is this 'float'}}"{{/is}})
    {{{name}}}({{{value}}}){{^@last}},
    {{/@last}}{{#@last}};{{/@last}}
            {{/if}}
        {{/if}}
    {{/if}}
    {{#unless gson}}
        {{#allowableValues}}
            {{#enumVars}}
    {{{name}}}({{{value}}}){{^@last}},
    {{/@last}}{{#@last}};{{/@last}}
            {{/enumVars}}
        {{/allowableValues}}
    {{/unless}}

    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;
        }
      }
      return null;
    }
  }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy