From aecd569e66dae8a745849fbab30a98f42ef77e8d Mon Sep 17 00:00:00 2001 From: Deven Phillips Date: Sat, 1 May 2021 08:44:19 -0400 Subject: [PATCH] Improved hashcode/equals implementation --- pojo.mustache | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pojo.mustache b/pojo.mustache index 453b639..a701f0b 100644 --- a/pojo.mustache +++ b/pojo.mustache @@ -121,23 +121,23 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}{{^parent}} return false; }{{#hasVars}} {{classname}} {{classVarName}} = ({{classname}}) o; - return {{#vars}}Objects.equals(this.{{name}}, {{classVarName}}.{{name}}){{#hasMore}} && - {{/hasMore}}{{/vars}}{{#parent}} && + return {{#vars}}Objects.equals(this.{{name}}, {{classVarName}}.{{name}}){{^-last}} && + {{/-last}}{{/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}}); + return Objects.hash({{#vars}}{{name}}{{^-last}}, {{/-last}}{{/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"); + {{#parent}}sb.append(" ").append(toIndentedString(super.toString())).append(System.lineSeparator());{{/parent}} + {{#vars}}sb.append(" {{name}}: ").append(toIndentedString({{name}})).append(System.lineSeparator()); {{/vars}}sb.append("}"); return sb.toString(); } @@ -150,6 +150,6 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}{{^parent}} if (o == null) { return "null"; } - return o.toString().replace("\n", "\n "); + return o.toString().replace(System.lineSeparator(), System.lineSeparator()+" "); } }