import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature
import org.opendaylight.yangtools.sal.binding.model.api.Restrictions
import org.opendaylight.yangtools.sal.binding.model.api.Type
-import org.opendaylight.yangtools.yang.common.QName
abstract class BaseTemplate {
protected val GeneratedType type;
def protected CharSequence asJavadoc(String comment) {
if(comment == null) return ''
var txt = comment
- if (txt.contains("*/")) {
- txt = txt.replace("*/", "*/")
- }
+
txt = comment.trim
txt = formatToParagraph(txt)
}
def protected String formatDataForJavaDoc(GeneratedType type) {
- val typeDescription = type.getDescription();
+ val typeDescription = type.getDescription().encodeJavadocSymbols;
return '''
«IF !typeDescription.nullOrEmpty»
'''.toString
}
+ def encodeJavadocSymbols(String description) {
+ if (!description.nullOrEmpty) {
+ return description.replace("*/", "*/")
+ }
+ return description;
+ }
+
def asLink(String text) {
val StringBuilder sb = new StringBuilder()
var tempText = text
var StringBuilder lineBuilder = new StringBuilder();
var boolean isFirstElementOnNewLineEmptyChar = false;
- formattedText = formattedText.replace("*/", "*/")
+ formattedText = formattedText.encodeJavadocSymbols
formattedText = formattedText.replace(NEW_LINE, "")
formattedText = formattedText.replace("\t", "")
formattedText = formattedText.replaceAll(" +", " ");
lineBuilder.setLength(0)
sb.append(NEW_LINE)
- if(nextElement.toString == ' ')
+ if(nextElement.toString == ' ') {
isFirstElementOnNewLineEmptyChar = !isFirstElementOnNewLineEmptyChar;
+ }
}
if(isFirstElementOnNewLineEmptyChar) {
«IF !properties.empty»
@Override
public «String.importedName» toString() {
- «StringBuilder.importedName» builder = new «StringBuilder.importedName»("«type.name» [");
+ «StringBuilder.importedName» builder = new «StringBuilder.importedName»(«type.importedName».class.getSimpleName()).append(" [");
boolean first = true;
«FOR property : properties»