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  }