import org.opendaylight.mdsal.binding.model.api.Type
import org.opendaylight.mdsal.binding.model.util.Types
import org.opendaylight.mdsal.binding.model.util.TypeConstants
-import org.opendaylight.mdsal.binding.model.api.TypeMember
/**
* Template for generating JAVA interfaces.
} else {
switch method.name {
case DATA_CONTAINER_IMPLEMENTED_INTERFACE_NAME : generateDefaultImplementedInterface
+ default :
+ if (VOID == method.returnType.identifier) {
+ generateNoopVoidInterfaceMethod(method)
+ }
}
}
}
«method.returnType.importedName» «method.name»(«method.parameters.generateParameters»);
'''
+ def private generateNoopVoidInterfaceMethod(MethodSignature method) '''
+ «method.comment.asJavadoc»
+ «method.annotations.generateAnnotations»
+ default «VOID.importedName» «method.name»(«method.parameters.generateParameters») {
+ // No-op
+ }
+ '''
+
def private static accessorJavadoc(MethodSignature method, String orString) {
val reference = method.comment?.referenceDescription
val propReturn = method.propertyNameFromGetter + ", or " + orString + " if it is not present."
'''
def private String nullableType(Type type) {
- if (type.isObject) {
+ if (type.isObject && (Types.isMapType(type) || Types.isListType(type))) {
return type.importedNullable
}
return type.importedName