github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/microprofile/pojo.mustache (about) 1 import javax.xml.bind.annotation.XmlElement; 2 import javax.xml.bind.annotation.XmlRootElement; 3 import javax.xml.bind.annotation.XmlAccessType; 4 import javax.xml.bind.annotation.XmlAccessorType; 5 import javax.xml.bind.annotation.XmlType; 6 import javax.xml.bind.annotation.XmlEnum; 7 import javax.xml.bind.annotation.XmlEnumValue; 8 import javax.json.bind.annotation.JsonbProperty; 9 10 {{#withXml}} 11 @XmlAccessorType(XmlAccessType.FIELD) 12 {{#hasVars}} @XmlType(name = "{{classname}}", propOrder = 13 { {{#vars}}"{{name}}"{{^-last}}, {{/-last}}{{/vars}} 14 }){{/hasVars}} 15 {{^hasVars}}@XmlType(name = "{{classname}}"){{/hasVars}} 16 {{^parent}}@XmlRootElement(name="{{classname}}"){{/parent}} 17 {{/withXml}} 18 {{#description}} 19 /** 20 * {{{description}}} 21 **/ 22 {{/description}} 23 public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}{{#serializableModel}} implements Serializable{{/serializableModel}} { 24 {{#vars}}{{#isEnum}}{{^isContainer}} 25 {{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}} 26 {{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}} 27 {{#withXml}} 28 @XmlElement(name="{{baseName}}"{{#required}}, required = {{required}}{{/required}}) 29 {{/withXml}} 30 {{#description}} 31 /** 32 * {{{description}}} 33 **/ 34 {{/description}} 35 {{#isContainer}} 36 private {{{datatypeWithEnum}}} {{name}}{{#required}} = {{{defaultValue}}}{{/required}}{{^required}} = null{{/required}}; 37 {{/isContainer}} 38 {{^isContainer}} 39 private {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}; 40 {{/isContainer}} 41 {{/vars}} 42 43 {{#vars}} 44 /** 45 {{#description}} 46 * {{description}} 47 {{/description}} 48 {{^description}} 49 * Get {{name}} 50 {{/description}} 51 {{#minimum}} 52 * minimum: {{minimum}} 53 {{/minimum}} 54 {{#maximum}} 55 * maximum: {{maximum}} 56 {{/maximum}} 57 * @return {{name}} 58 **/ 59 @JsonbProperty("{{baseName}}") 60 {{#vendorExtensions.x-extra-annotation}} 61 {{{vendorExtensions.x-extra-annotation}}} 62 {{/vendorExtensions.x-extra-annotation}} 63 {{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} {{#isEnum}}{{^isArray}}{{^isMap}}public {{dataType}} {{getter}}() { 64 if ({{name}} == null) { 65 return null; 66 } 67 return {{name}}.value(); 68 }{{/isMap}}{{/isArray}}{{/isEnum}}{{#isEnum}}{{#isArray}}public {{{datatypeWithEnum}}} {{getter}}() { 69 return {{name}}; 70 }{{/isArray}}{{/isEnum}}{{#isEnum}}{{#isMap}}public {{{datatypeWithEnum}}} {{getter}}() { 71 return {{name}}; 72 }{{/isMap}}{{/isEnum}}{{^isEnum}}public {{{datatypeWithEnum}}} {{getter}}() { 73 return {{name}}; 74 }{{/isEnum}} 75 76 {{^isReadOnly}} 77 /** 78 * Set {{name}} 79 **/ 80 public void {{setter}}({{{datatypeWithEnum}}} {{name}}) { 81 this.{{name}} = {{name}}; 82 } 83 84 public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { 85 this.{{name}} = {{name}}; 86 return this; 87 } 88 {{#isArray}} 89 90 public {{classname}} add{{nameInCamelCase}}Item({{{items.datatypeWithEnum}}} {{name}}Item) { 91 this.{{name}}.add({{name}}Item); 92 return this; 93 } 94 {{/isArray}} 95 {{#isMap}} 96 97 public {{classname}} put{{nameInCamelCase}}Item(String key, {{{items.datatypeWithEnum}}} {{name}}Item) { 98 this.{{name}}.put(key, {{name}}Item); 99 return this; 100 } 101 {{/isMap}} 102 {{/isReadOnly}} 103 104 {{/vars}} 105 106 /** 107 * Create a string representation of this pojo. 108 **/ 109 @Override 110 public String toString() { 111 StringBuilder sb = new StringBuilder(); 112 sb.append("class {{classname}} {\n"); 113 {{#parent}}sb.append(" ").append(toIndentedString(super.toString())).append("\n");{{/parent}} 114 {{#vars}}sb.append(" {{name}}: ").append(toIndentedString({{name}})).append("\n"); 115 {{/vars}}sb.append("}"); 116 return sb.toString(); 117 } 118 119 /** 120 * Convert the given object to string with each line indented by 4 spaces 121 * (except the first line). 122 */ 123 private static String toIndentedString(java.lang.Object o) { 124 if (o == null) { 125 return "null"; 126 } 127 return o.toString().replace("\n", "\n "); 128 } 129 }