forked from loafle/openapi-generator-original
by fixing the logic of enum Boolean checking. Other changes: * Remove the `true &&` prefix from the `equals` method in models. * Apply some changes of Java-default to Java-okhttp-gson, i.e. adding `this` and parent model handling. * Some improvements on spaces and blank lines.
75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
{{#description}}@ApiModel(description = "{{{description}}}"){{/description}}
|
|
{{>generatedAnnotation}}
|
|
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
|
{{#vars}}{{#isEnum}}
|
|
|
|
{{>enumClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}
|
|
|
|
{{>enumClass}}{{/items}}{{/items.isEnum}}
|
|
private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/vars}}
|
|
|
|
{{#vars}}
|
|
/**{{#description}}
|
|
* {{{description}}}{{/description}}{{#minimum}}
|
|
* minimum: {{minimum}}{{/minimum}}{{#maximum}}
|
|
* maximum: {{maximum}}{{/maximum}}
|
|
**/
|
|
public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) {
|
|
this.{{name}} = {{name}};
|
|
return this;
|
|
}
|
|
|
|
{{#vendorExtensions.extraAnnotation}}{{vendorExtensions.extraAnnotation}}{{/vendorExtensions.extraAnnotation}}
|
|
@ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}")
|
|
@JsonProperty("{{baseName}}")
|
|
public {{{datatypeWithEnum}}} {{getter}}() {
|
|
return {{name}};
|
|
}
|
|
public void {{setter}}({{{datatypeWithEnum}}} {{name}}) {
|
|
this.{{name}} = {{name}};
|
|
}
|
|
|
|
{{/vars}}
|
|
|
|
@Override
|
|
public boolean equals(java.lang.Object o) {
|
|
if (this == o) {
|
|
return true;
|
|
}
|
|
if (o == null || getClass() != o.getClass()) {
|
|
return false;
|
|
}{{#hasVars}}
|
|
{{classname}} {{classVarName}} = ({{classname}}) o;
|
|
return {{#vars}}Objects.equals(this.{{name}}, {{classVarName}}.{{name}}){{#hasMore}} &&
|
|
{{/hasMore}}{{/vars}}{{#parent}} &&
|
|
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
|
|
return true;{{/hasVars}}
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return Objects.hash({{#vars}}{{name}}{{#hasMore}}, {{/hasMore}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}});
|
|
}
|
|
|
|
@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(java.lang.Object o) {
|
|
if (o == null) {
|
|
return "null";
|
|
}
|
|
return o.toString().replace("\n", "\n ");
|
|
}
|
|
}
|