2 * Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 @**********************************************************
10 * Twirl YangTemplate for generating yang snippets. *
11 * Twirl is transformed to Scala and compiled. Then, *
12 * it can be called from Java with particular input *
13 * parameters to render desired output code. *
14 ***********************************************************@
16 @import org.opendaylight.yangtools.yang.model.api.TypeDefinition
17 @import org.opendaylight.yangtools.yang.model.api.`type`.BinaryTypeDefinition
18 @import org.opendaylight.yangtools.yang.model.api.`type`.BitsTypeDefinition
19 @import org.opendaylight.yangtools.yang.model.api.`type`.BooleanTypeDefinition
20 @import org.opendaylight.yangtools.yang.model.api.`type`.DecimalTypeDefinition
21 @import org.opendaylight.yangtools.yang.model.api.`type`.EmptyTypeDefinition
22 @import org.opendaylight.yangtools.yang.model.api.`type`.EnumTypeDefinition
23 @import org.opendaylight.yangtools.yang.model.api.`type`.IdentityrefTypeDefinition
24 @import org.opendaylight.yangtools.yang.model.api.`type`.IdentityTypeDefinition
25 @import org.opendaylight.yangtools.yang.model.api.`type`.InstanceIdentifierTypeDefinition
26 @import org.opendaylight.yangtools.yang.model.api.`type`.Int8TypeDefinition
27 @import org.opendaylight.yangtools.yang.model.api.`type`.Int16TypeDefinition
28 @import org.opendaylight.yangtools.yang.model.api.`type`.Int32TypeDefinition
29 @import org.opendaylight.yangtools.yang.model.api.`type`.Int64TypeDefinition
30 @import org.opendaylight.yangtools.yang.model.api.`type`.LeafrefTypeDefinition
31 @import org.opendaylight.yangtools.yang.model.api.`type`.StringTypeDefinition
32 @import org.opendaylight.yangtools.yang.model.api.`type`.Uint8TypeDefinition
33 @import org.opendaylight.yangtools.yang.model.api.`type`.Uint16TypeDefinition
34 @import org.opendaylight.yangtools.yang.model.api.`type`.Uint32TypeDefinition
35 @import org.opendaylight.yangtools.yang.model.api.`type`.Uint64TypeDefinition
36 @import org.opendaylight.yangtools.yang.model.api.`type`.UnionTypeDefinition
37 @import org.opendaylight.yangtools.yang.model.api.`type`.UnknownTypeDefinition
39 @(typeDefinition: TypeDefinition[_])
40 @if(typeDefinition.getBaseType() != null) {
41 @if(typeDefinition.isInstanceOf[BinaryTypeDefinition]){
42 type @(typeDefinition.asInstanceOf[BinaryTypeDefinition].getBaseType().getQName().getLocalName());
44 @if(typeDefinition.isInstanceOf[BitsTypeDefinition]){
45 type @(typeDefinition.asInstanceOf[BitsTypeDefinition].getBaseType().getQName().getLocalName());
47 @if(typeDefinition.isInstanceOf[BooleanTypeDefinition]){
48 type @(typeDefinition.asInstanceOf[BooleanTypeDefinition].getBaseType().getQName().getLocalName());
50 @if(typeDefinition.isInstanceOf[DecimalTypeDefinition]){
51 type @(typeDefinition.asInstanceOf[DecimalTypeDefinition].getBaseType().getQName().getLocalName());
53 @if(typeDefinition.isInstanceOf[EmptyTypeDefinition]){
54 type @(typeDefinition.asInstanceOf[EmptyTypeDefinition].getBaseType().getQName().getLocalName());
56 @if(typeDefinition.isInstanceOf[EnumTypeDefinition]){
57 type @(typeDefinition.asInstanceOf[EnumTypeDefinition].getBaseType().getQName().getLocalName());
59 @if(typeDefinition.isInstanceOf[IdentityrefTypeDefinition]){
60 type @(typeDefinition.asInstanceOf[IdentityrefTypeDefinition].getBaseType().getQName().getLocalName());
62 @if(typeDefinition.isInstanceOf[IdentityTypeDefinition]){
63 type @(typeDefinition.asInstanceOf[IdentityTypeDefinition].getBaseType().getQName().getLocalName());
65 @if(typeDefinition.isInstanceOf[InstanceIdentifierTypeDefinition]){
66 type @(typeDefinition.asInstanceOf[InstanceIdentifierTypeDefinition].getBaseType().getQName().getLocalName());
68 @if(typeDefinition.isInstanceOf[Int8TypeDefinition]){
69 type @(typeDefinition.asInstanceOf[Int8TypeDefinition].getBaseType().getQName().getLocalName());
71 @if(typeDefinition.isInstanceOf[Int16TypeDefinition]){
72 type @(typeDefinition.asInstanceOf[Int16TypeDefinition].getBaseType().getQName().getLocalName());
74 @if(typeDefinition.isInstanceOf[Int32TypeDefinition]){
75 type @(typeDefinition.asInstanceOf[Int32TypeDefinition].getBaseType().getQName().getLocalName());
77 @if(typeDefinition.isInstanceOf[Int64TypeDefinition]){
78 type @(typeDefinition.asInstanceOf[Int64TypeDefinition].getBaseType().getQName().getLocalName());
80 @if(typeDefinition.isInstanceOf[LeafrefTypeDefinition]){
81 type @(typeDefinition.asInstanceOf[LeafrefTypeDefinition].getBaseType().getQName().getLocalName());
83 @if(typeDefinition.isInstanceOf[StringTypeDefinition]){
84 type @(typeDefinition.asInstanceOf[StringTypeDefinition].getBaseType().getQName().getLocalName());
86 @if(typeDefinition.isInstanceOf[UnionTypeDefinition]){
87 type @(typeDefinition.asInstanceOf[UnionTypeDefinition].getBaseType().getQName().getLocalName());
89 @if(typeDefinition.isInstanceOf[UnknownTypeDefinition]){
90 type @(typeDefinition.asInstanceOf[UnknownTypeDefinition].getBaseType().getQName().getLocalName());
92 @if(typeDefinition.isInstanceOf[Uint8TypeDefinition]){
93 type @(typeDefinition.asInstanceOf[Uint8TypeDefinition].getBaseType().getQName().getLocalName());
95 @if(typeDefinition.isInstanceOf[Uint16TypeDefinition]){
96 type @(typeDefinition.asInstanceOf[Uint16TypeDefinition].getBaseType().getQName().getLocalName());
98 @if(typeDefinition.isInstanceOf[Uint32TypeDefinition]){
99 type @(typeDefinition.asInstanceOf[Uint32TypeDefinition].getBaseType().getQName().getLocalName());
101 @if(typeDefinition.isInstanceOf[Uint64TypeDefinition]){
102 type @(typeDefinition.asInstanceOf[Uint64TypeDefinition].getBaseType().getQName().getLocalName());
105 type @(typeDefinition.getQName().getLocalName());