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

com.github.upachler.swagger.codegen.jaxrslean.templates.pojo.mustache Maven / Gradle / Ivy

The newest version!
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
  {{#vars}}{{#isEnum}}

{{>enumPropertyClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}

{{>enumPropertyClass}}{{/items}}{{/items.isEnum}}
{{#useJaxbAnnotations}}
  @XmlElement(name="{{baseName}}")
{{/useJaxbAnnotations}} 
  private {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{defaultValue}}}{{/defaultValue}};{{/vars}}

  {{#vars}}
  /**{{#description}}
   * {{description}}{{/description}}{{#minimum}}
   * minimum: {{minimum}}{{/minimum}}{{#maximum}}
   * maximum: {{maximum}}{{/maximum}}
   * @return {{name}}
   **/{{#vendorExtensions.extraAnnotation}}
  {{vendorExtensions.extraAnnotation}}{{/vendorExtensions.extraAnnotation}}
  public {{{datatypeWithEnum}}} {{getter}}() {
    return {{name}};
  }

  /**
   * @param {{name}} Set the {{name}} property.
   */
  public void {{setter}}({{{datatypeWithEnum}}} {{name}}) {
    this.{{name}} = {{name}};
  }

  {{/vars}}
  
  /**
   * Creates a builder for {{classname}} instances
   * @return the new {{classname}} builder.
   */
  public static Builder builder() {
    return new Builder();
  }

  /**
   * 

A builder class for building {{classname}} objects with a fluent API. So to * build an instance, use a pattern like this:

*
   * {{classname}} instance = {{classname}}.builder()
   *     // set properties of the new instance...
   * {{#vars}}    .{{name}}({{name}}Value)
   * {{/vars}}    // ...and finally build the object!
   *    .build();
   * 
*/ public static class Builder {{#parent}} extends {{parent}}.Builder{{/parent}}{ private final {{classname}} o = new {{classname}}(); /** * Finish building the instance and return it * @return the newly built {{classname}} instance */ public {{classname}} build() { return o; } {{#vars}} /** * Set the {{name}} property * @param {{name}} value to set * @return This builder */ public Builder {{name}}({{{datatypeWithEnum}}} {{name}}) { o.{{setter}}({{name}}); return this; } /** * Set the {{name}} property if the given optional is present. * @param {{name}}Opt optional value to set, if present * @return This builder */ public Builder {{name}}(Optional<{{{vendorExtensions.boxedType}}}> {{name}}Opt) { {{name}}Opt.ifPresent(this::{{name}}); return this; } {{/vars}} } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } {{classname}} {{classVarName}} = ({{classname}}) o;{{#hasVars}} return {{#vars}}Objects.equals({{name}}, {{classVarName}}.{{name}}){{#hasMore}} && {{/hasMore}}{{^hasMore}};{{/hasMore}}{{/vars}}{{/hasVars}}{{^hasVars}} return true;{{/hasVars}} } @Override public int hashCode() { return Objects.hash({{#vars}}{{name}}{{#hasMore}}, {{/hasMore}}{{/vars}}); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class {{classname}} {\n"); {{#parent}}sb.append(" ").append(toIndentedString(super.toString())).append("\n");{{/parent}} {{#vars}}sb.append(" {{name}}: ").append(toIndentedString({{name}})).append("\n"); {{/vars}}sb.append("}"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(Object o) { if (o == null) { return "null"; } return o.toString().replace("\n", "\n "); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy