*/
package org.opendaylight.yangtools.sal.binding.generator.impl
+import com.google.common.base.CharMatcher
import java.util.Collection
import java.util.Date
import java.util.List
import java.util.Set
import java.util.StringTokenizer
import org.opendaylight.yangtools.yang.common.QName
+import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil
import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode
import org.opendaylight.yangtools.yang.model.api.AugmentationSchema
import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode
import org.opendaylight.yangtools.yang.model.api.UsesNode
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair
-import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil
-import com.google.common.base.CharMatcher
class YangTemplate {
def static writeRPC(RpcDefinition rpc) {
var boolean isStatusDeprecated = rpc.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
rpc «rpc.QName.localName» {
«IF !rpc.description.nullOrEmpty»
"«rpc.description»";
def static writeNotification(NotificationDefinition notification) {
var boolean isStatusDeprecated = notification.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
notification «notification.QName.localName» {
«IF !notification.description.nullOrEmpty»
description
def static writeTypeDefinition(TypeDefinition<?> typeDefinition) {
var boolean isStatusDeprecated = typeDefinition.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
type «typeDefinition.QName.localName»«IF !isStatusDeprecated»;«ELSE» {
status «typeDefinition.status»;
}
}
def static writeExtension(ExtensionDefinition extensionDef) {
- var boolean isStatusDeprecated = extensionDef.status == Status::DEPRECATED
-
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
extension «extensionDef.QName.localName» {
«IF !extensionDef.description.nullOrEmpty»
description
def static writeGroupingDef(GroupingDefinition groupingDef) {
var boolean isStatusDeprecated = groupingDef.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
grouping «groupingDef.QName.localName» {
«IF !groupingDef.groupings.nullOrEmpty»
«writeGroupingDefs(groupingDef.groupings)»
def static writeContSchemaNode(ContainerSchemaNode contSchemaNode) {
var boolean isStatusDeprecated = contSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
container «contSchemaNode.getQName.localName» {
«IF !contSchemaNode.childNodes.nullOrEmpty»
«writeDataSchemaNodes(contSchemaNode.childNodes)»
def static writeAnyXmlSchemaNode(AnyXmlSchemaNode anyXmlSchemaNode) {
var boolean isStatusDeprecated = anyXmlSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
anyxml «anyXmlSchemaNode.getQName.localName»«IF !isStatusDeprecated»;«ELSE» {
status «anyXmlSchemaNode.status»;
}
def static writeLeafSchemaNode(LeafSchemaNode leafSchemaNode) {
var boolean isStatusDeprecated = leafSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
leaf «leafSchemaNode.getQName.localName» {
type «leafSchemaNode.type.getQName.localName»;
«IF isStatusDeprecated»
def static writeLeafListSchemaNode(LeafListSchemaNode leafListSchemaNode) {
var boolean isStatusDeprecated = leafListSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
leaf-list «leafListSchemaNode.getQName.localName» {
type «leafListSchemaNode.type.getQName.localName»;
«IF isStatusDeprecated»
def static writeChoiceCaseNode(ChoiceCaseNode choiceCaseNode) {
var boolean isStatusDeprecated = choiceCaseNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
case «choiceCaseNode.getQName.localName» {
«FOR childNode : choiceCaseNode.childNodes»
«writeDataSchemaNode(childNode)»
def static writeChoiceNode(ChoiceSchemaNode choiceNode) {
var boolean isStatusDeprecated = choiceNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
choice «choiceNode.getQName.localName» {
«FOR child : choiceNode.cases»
«writeDataSchemaNode(child)»
var boolean isStatusDeprecated = listSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
list «listSchemaNode.getQName.localName» {
key «FOR listKey : listSchemaNode.keyDefinition SEPARATOR " "»"«listKey.localName»"
«ENDFOR»
var boolean isFirstElementOnNewLineEmptyChar = false;
val lineIndent = computeNextLineIndent(nextLineIndent);
- formattedText = formattedText.replace("*/", "*/");
formattedText = NEWLINE_OR_TAB.removeFrom(formattedText);
formattedText = formattedText.replaceAll(" +", " ");