@Override public void createOtherField( ClassOrInterfaceTypeDetails cid, JavaType fieldType, JavaSymbolName fieldName, boolean notNull, boolean nullRequired, String comment, String column, boolean permitReservedWords, boolean transientModifier, List<AnnotationMetadataBuilder> extraAnnotations) { final String physicalTypeIdentifier = cid.getDeclaredByMetadataId(); final FieldDetails fieldDetails = new FieldDetails(physicalTypeIdentifier, fieldType, fieldName); fieldDetails.setNotNull(notNull); fieldDetails.setNullRequired(nullRequired); if (comment != null) { fieldDetails.setComment(comment); } if (column != null) { fieldDetails.setColumn(column); } if (extraAnnotations != null && !extraAnnotations.isEmpty()) { fieldDetails.addAnnotations(extraAnnotations); } insertField(fieldDetails, permitReservedWords, false); }
public void formatFieldComment(FieldDetails fieldDetails) { // If a comment was defined, we need to format it if (fieldDetails.getComment() != null) { // First replace all "" with the proper escape sequence \" String unescapedMultiLineComment = fieldDetails.getComment().replaceAll("\"\"", "\\\\\""); // Then unescape all characters unescapedMultiLineComment = StringEscapeUtils.unescapeJava(unescapedMultiLineComment); CommentFormatter commentFormatter = new CommentFormatter(); String javadocComment = commentFormatter.formatStringAsJavadoc(unescapedMultiLineComment); fieldDetails.setComment(commentFormatter.format(javadocComment, 1)); } }