\r
«generateGetters(true)»\r
\r
+ «generateHashCode()»\r
+\r
+ «generateEquals()»\r
}\r
\r
}\r
return (E) «augmentField.name».get(augmentationType);\r
}\r
«ENDIF»\r
- ''' \r
+ '''\r
+\r
+ /**\r
+ * Template method which generates the method <code>hashCode()</code>.\r
+ * \r
+ * @return string with the <code>hashCode()</code> method definition in JAVA format\r
+ */\r
+ def protected generateHashCode() '''\r
+ «IF !properties.empty || augmentField != null»\r
+ @Override\r
+ public int hashCode() {\r
+ final int prime = 31;\r
+ int result = 1;\r
+ «FOR property : properties»\r
+ result = prime * result + ((«property.fieldName» == null) ? 0 : «property.fieldName».hashCode());\r
+ «ENDFOR»\r
+ «IF augmentField != null»\r
+ result = prime * result + ((«augmentField.name» == null) ? 0 : «augmentField.name».hashCode());\r
+ «ENDIF»\r
+ return result;\r
+ }\r
+ «ENDIF»\r
+ '''\r
+\r
+ /**\r
+ * Template method which generates the method <code>equals()</code>.\r
+ * \r
+ * @return string with the <code>equals()</code> method definition in JAVA format \r
+ */\r
+ def protected generateEquals() '''\r
+ «IF !properties.empty || augmentField != null»\r
+ @Override\r
+ public boolean equals(java.lang.Object obj) {\r
+ if (this == obj) {\r
+ return true;\r
+ }\r
+ if (obj == null) {\r
+ return false;\r
+ }\r
+ if (getClass() != obj.getClass()) {\r
+ return false;\r
+ }\r
+ «type.name»«IMPL» other = («type.name»«IMPL») obj;\r
+ «FOR property : properties»\r
+ «val fieldName = property.fieldName»\r
+ if («fieldName» == null) {\r
+ if (other.«fieldName» != null) {\r
+ return false;\r
+ }\r
+ } else if(!«fieldName».equals(other.«fieldName»)) {\r
+ return false;\r
+ }\r
+ «ENDFOR»\r
+ «IF augmentField != null»\r
+ «val fieldName = augmentField.name»\r
+ if («fieldName» == null) {\r
+ if (other.«fieldName» != null) {\r
+ return false;\r
+ }\r
+ } else if(!«fieldName».equals(other.«fieldName»)) {\r
+ return false;\r
+ }\r
+ «ENDIF»\r
+ return true;\r
+ }\r
+ «ENDIF»\r
+ '''\r
+\r
}\r
\r