+++ /dev/null
-@*
- * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *@
-
-@import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.formatDataForJavaDoc
-@import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.fieldName
-@import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.propsAsArgs
-@import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.propsAsList
-@import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.valueForBits
-@import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.wrapToDocumentation
-@import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTransferObject
-@import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType
-@import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedProperty
-@import org.opendaylight.yangtools.yang.model.api.`type`.BitsTypeDefinition
-
-@(genType: GeneratedType, genTo: GeneratedTransferObject, importedNames: Map[String, String], implementsList: String,
-innerClasses: String, enumerations: String, constants: String, constructors: String, lengthRangeChecker: String,
-fields: String, allProperties: List[GeneratedProperty], propertyMethod: String, isInnerClass: Boolean)
-@if(genTo != null) {
-@{wrapToDocumentation(formatDataForJavaDoc(genType))}
-@annotationDeclaration()
-@generateClassDeclaration(isInnerClass)
- {
- @if(genTo.getSUID != null) {private static final long serialVersionUID = @{genTo.getSUID.getValue}L;}
- @{innerClasses}
- @{enumerations}
- @{constants}
- @{fields}
- @{lengthRangeChecker}
-
- @{constructors}
-
- @defaultInstance()
-
- @{propertyMethod}
-
- @if(genTo.isTypedef && genTo.getBaseType.isInstanceOf[BitsTypeDefinition]) {
- public boolean[] getValue() {
- return new boolean[]{
- @{valueForBits(genTo.getProperties)}
- };
- }
- }
-
- @generateHashCode()
-
- @generateEquals()
-
- @generateToString(genTo.getToStringIdentifiers)
- }
-}
-
-@annotationDeclaration() = {
-@if(genTo.getAnnotations != null) {
- @for(annotation <- genTo.getAnnotations) {
- @@@{annotation.getName}
- }
-}
-}
-
-@generateClassDeclaration(isInnerCLass: Boolean) = {
-public @{if (isInnerCLass) "static final "
-else if(genType.isAbstract) "abstract "
-else " "
-}
-class @{genType.getName}
-@if(genTo.getSuperType != null) { extends @{importedNames.get("superType")}}
-@if(!implementsList.isEmpty) { implements @{implementsList}}
-}
-
-@generateHashCode() = {
-@if(!genTo.getHashCodeIdentifiers.isEmpty) {
- @@Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- @for(property <- genTo.getHashCodeIdentifiers) {
- @if(property.getReturnType.getName.contains("[")) {
- result = prime * result + @{importedNames.get("arrays")}.hashCode(@{fieldName(property)});
- } else {
- result = prime * result + @{importedNames.get("objects")}.hashCode(@{fieldName(property)});
- }
- }
- return result;
- }
-}
-}
-
-@generateEquals() = {
-@if(!genTo.getEqualsIdentifiers.isEmpty) {
- @@Override
- public boolean equals(java.lang.Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- @{genTo.getName} other = (@{genTo.getName}) obj;
- @for(property <- genTo.getEqualsIdentifiers) {
- @if(property.getReturnType.getName.contains("[")) {
- if (!@{importedNames.get("arrays")}.equals(@{fieldName(property)}, other.@{fieldName(property)}))
- } else {
- if (!@{importedNames.get("objects")}.equals(@{fieldName(property)}, other.@{fieldName(property)}))
- }
- {
- return false;
- }
- }
- return true;
- }
-}
-}
-
-@generateToString(properties: List[GeneratedProperty]) = {
-@if(properties != null) {
- @@Override
- public @{importedNames.get("string")} toString() {
- @{importedNames.get("stringBuilder")} builder = new @{importedNames.get("stringBuilder")} (@{importedNames.get("type")}.class.getSimpleName()).append(" [");
- boolean first = true;
-
- @for(property <- properties) {
- if (@{fieldName(property)} != null) {
- if (first) {
- first = false;
- } else {
- builder.append(", ");
- }
- builder.append("@{fieldName(property)}=");
- @if(property.getReturnType.getName.contains("[")) {
- builder.append(@{importedNames.get("arrays")}.toString(@{fieldName(property)}));
- } else {
- builder.append(@{fieldName(property)});
- }
- }
- }
- return builder.append(']').toString();
- }
-}
-}
-
-@defaultInstance() = {
-@if(genTo.isTypedef && !allProperties.isEmpty && !genTo.isUnionType) {
- @if("org.opendaylight.yangtools.yang.common.Empty".equals(allProperties.get(0).getReturnType.getFullyQualifiedName)) {
- public static @{genTo.getName} getDefaultInstance() {
- return new @{genTo.getName}(Empty.getInstance());
- }
- } else {
- @if(!"org.opendaylight.mdsal.binding.javav2.spec.base.InstanceIdentifier".equals(allProperties.get(0).getReturnType.getFullyQualifiedName)) {
- public static @{genTo.getName} getDefaultInstance(String defaultValue) {
- @if(allProperties.size > 1) {
- @{importedNames.get("list")}<@{importedNames.get("string")}> properties = @{importedNames.get("lists")}.newArrayList(@{propsAsArgs(allProperties)});
- if (!properties.contains(defaultValue)) {
- throw new @{importedNames.get("illegalArgumentException")}("invalid default parameter");
- }
- int i = 0;
- return new @{genTo.getName}(@propsAsList(allProperties, importedNames.get("boolean")));
- } else {
- @if("byte[]".equals(allProperties.get(0).getReturnType.getName)) {
- @{importedNames.get("baseEncoding")} baseEncoding = @{importedNames.get("baseEncoding")}.base64();
- return new @{genTo.getName}(baseEncoding.decode(defaultValue));
- } else {
- @allProperties.get(0).getReturnType.getFullyQualifiedName match {
- case "java.lang.String" => {
- return new @{genTo.getName}(defaultValue);
- }
- case "java.lang.Boolean" => {
- return new @{genTo.getName}(@{importedNames.get("boolean")}.valueOf(defaultValue));
- }
- case "java.lang.Byte" => {
- return new @{genTo.getName}(@{importedNames.get("byte")}.valueOf(defaultValue));
- }
- case "java.lang.Short" => {
- return new @{genTo.getName}(@{importedNames.get("short")}.valueOf(defaultValue));
- }
- case "java.lang.Integer" => {
- return new @{genTo.getName}(@{importedNames.get("integer")}.valueOf(defaultValue));
- }
- case "java.lang.Long" => {
- return new @{genTo.getName}(@{importedNames.get("long")}.valueOf(defaultValue));
- }
- case "org.opendaylight.yangtools.yang.common.Uint8" => {
- return new @{genTo.getName}(@{importedNames.get("uint8")}.valueOf(defaultValue));
- }
- case "org.opendaylight.yangtools.yang.common.Uint16" => {
- return new @{genTo.getName}(@{importedNames.get("uint16")}.valueOf(defaultValue));
- }
- case "org.opendaylight.yangtools.yang.common.Uint32" => {
- return new @{genTo.getName}(@{importedNames.get("uint32")}.valueOf(defaultValue));
- }
- case "org.opendaylight.yangtools.yang.common.Uint64" => {
- return new @{genTo.getName}(@{importedNames.get("uint64")}.valueOf(defaultValue));
- }
- case _ => {
- return new @{genTo.getName}(new @{allProperties.get(0).getReturnType.getName}(defaultValue));
- }
- }
- }
- }
- }
- }
- }
-}
-}
\ No newline at end of file