blob: 76c2cbf5a76dd53a5d94153ddbadea797f0173a6 [file] [log] [blame]
Yuta HIGUCHI5a016cf2016-12-20 15:19:22 -08001{{#jackson}}
2import com.fasterxml.jackson.annotation.JsonCreator;
3{{/jackson}}
4
5/**
6 * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}}
7 */
8public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} {
9 {{#gson}}
10 {{#allowableValues}}{{#enumVars}}
11 @SerializedName({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}})
12 {{{name}}}({{{value}}}){{^-last}},
13 {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
14 {{/gson}}
15 {{^gson}}
16 {{#allowableValues}}{{#enumVars}}
17 {{{name}}}({{{value}}}){{^-last}},
18 {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
19 {{/gson}}
20
21 private {{{dataType}}} value;
22
23 {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
24 this.value = value;
25 }
26
27 @Override
28 @JsonValue
29 public String toString() {
30 return String.valueOf(value);
31 }
32
33 @JsonCreator
34 public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) {
35 for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
36 if (String.valueOf(b.value).equals(text)) {
37 return b;
38 }
39 }
40 return null;
41 }
42}