prefix = BindingMapping.BOOLEAN_GETTER_PREFIX
} else if (getter.name.startsWith(BindingMapping.GETTER_PREFIX)) {
prefix = BindingMapping.GETTER_PREFIX
+ } else if (getter.name.startsWith(BindingMapping.NONNULL_PREFIX)) {
+ prefix = BindingMapping.NONNULL_PREFIX
} else {
- throw new IllegalArgumentException("Not a getter")
+ throw new IllegalArgumentException(getter + " is not a getter")
}
return getter.name.substring(prefix.length).toFirstLower;
}
var boolean isFirstElementOnNewLineEmptyChar = false;
formattedText = encodeJavadocSymbols(formattedText)
- formattedText = NL_MATCHER.removeFrom(formattedText)
- formattedText = TAB_MATCHER.removeFrom(formattedText)
+ formattedText = NL_MATCHER.replaceFrom(formattedText, ' ')
+ formattedText = TAB_MATCHER.replaceFrom(formattedText, ' ')
formattedText = SPACES_PATTERN.matcher(formattedText).replaceAll(" ")
val StringTokenizer tokenizer = new StringTokenizer(formattedText, " ", true);
def protected emitConstant(Constant c) '''
«IF BindingMapping.QNAME_STATIC_FIELD_NAME.equals(c.name)»
«val entry = c.value as Entry<JavaTypeName, String>»
- public static final «c.type.importedName» «c.name» = «entry.key.importedName».«BindingMapping.MODULE_INFO_QNAMEOF_METHOD_NAME»("«entry.value»");
+ public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«BindingMapping.MODULE_INFO_QNAMEOF_METHOD_NAME»("«entry.value»");
«ELSE»
public static final «c.type.importedName» «c.name» = «c.value»;
«ENDIF»
«ENDIF»
«ENDFOR»
'''
+
+ def protected hashCodeResult(Collection<GeneratedProperty> properties) '''
+ final int prime = 31;
+ int result = 1;
+ «FOR property : properties»
+ result = prime * result + «property.importedUtilClass».hashCode(«property.fieldName»);
+ «ENDFOR»
+ '''
}