X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=code-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fsal%2Fjava%2Fapi%2Fgenerator%2FClassTemplate.xtend;h=dba7356f9bd68cd61ce72d99407a8bcebc26c28b;hb=b9098abada60ebda7c372221c7b6ec8a94178792;hp=8d20831242fc1be9149a80811227def001523ecc;hpb=6afd2a531c139a775dafa01c317eb0ab6044ac41;p=yangtools.git diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend index 8d20831242..dba7356f9b 100644 --- a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend +++ b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend @@ -26,6 +26,7 @@ import org.opendaylight.yangtools.sal.binding.model.api.GeneratedProperty import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType import org.opendaylight.yangtools.sal.binding.model.api.Restrictions +import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition import com.google.common.base.Preconditions /** @@ -126,6 +127,10 @@ class ClassTemplate extends BaseTemplate { «ENDIF» «ENDFOR» + «IF (genTO.isTypedef() && genTO.getBaseType instanceof BitsTypeDefinition)» + «generateGetValueForBitsTypeDef» + «ENDIF» + «generateHashCode» «generateEquals» @@ -137,6 +142,24 @@ class ClassTemplate extends BaseTemplate { «generateRangeMethod("range", "_range")» } + + ''' + + /** + * Template method which generates the method getValue() for typedef, + * which base type is BitsDefinition. + * + * @return string with the getValue() method definition in JAVA format + */ + def protected generateGetValueForBitsTypeDef() ''' + + public boolean[] getValue() { + return new boolean[]{ + «FOR property: genTO.properties SEPARATOR ','» + «property.fieldName» + «ENDFOR» + }; + } ''' def private generateLengthMethod(String methodName, String varName) '''