import org.opendaylight.yangtools.sal.binding.model.api.Restrictions
import com.google.common.collect.Range
import java.util.regex.Pattern
+import com.google.common.io.BaseEncoding
+import java.beans.ConstructorProperties
/**\r
* Template for generating JAVA class. \r
«enumDeclarations»\r
«constantsDeclarations»\r
«generateFields»\r
+\r
«constructors»\r
+\r
«FOR field : properties SEPARATOR "\n"»\r
«field.getterMethod»\r
«IF !field.readOnly»\r
'''\r
\r
def protected allValuesConstructor() '''\r
+ «IF genTO.typedef && !allProperties.empty && allProperties.size == 1 && allProperties.get(0).name.equals("value")»\r
+ @«ConstructorProperties.importedName»("value")\r
+ «ENDIF»\r
public «type.name»(«allProperties.asArgumentsDeclaration») {\r
«IF false == parentProperties.empty»\r
super(«parentProperties.asArguments»);\r
super(source);\r
}\r
'''\r
- \r
\r
- \r
+ def protected defaultInstance() '''\r
+ «IF genTO.typedef && !allProperties.empty && !genTO.unionType»\r
+ «val prop = allProperties.get(0)»\r
+ public static «genTO.name» getDefaultInstance(String defaultValue) {\r
+ «IF "byte[]".equals(prop.returnType.name)»\r
+ «BaseEncoding.importedName» baseEncoding = «BaseEncoding.importedName».base64(); \r
+ return new «genTO.name»(baseEncoding.decode(defaultValue));\r
+ «ELSE»\r
+ return new «genTO.name»(new «prop.returnType.importedName»(defaultValue));\r
+ «ENDIF»\r
+ } \r
+ «ENDIF»\r
+ '''\r
+\r
/**\r
* Template method which generates JAVA class declaration.\r
* \r