X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FInterfaceTemplate.xtend;fp=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FInterfaceTemplate.xtend;h=0000000000000000000000000000000000000000;hb=29766fa9b1eb9b23162a4dcb485a5d921b9471bc;hp=fb9d606272fd466113e1e888864facb36602956d;hpb=97d2f10bea5bdd773453bc7202b9dd04f4b70c3b;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceTemplate.xtend b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceTemplate.xtend deleted file mode 100644 index fb9d606272..0000000000 --- a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceTemplate.xtend +++ /dev/null @@ -1,153 +0,0 @@ -package org.opendaylight.controller.sal.java.api.generator - -import java.util.List -import java.util.Map -import org.opendaylight.controller.binding.generator.util.TypeConstants -import org.opendaylight.controller.sal.binding.model.api.Constant -import org.opendaylight.controller.sal.binding.model.api.Enumeration -import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject -import org.opendaylight.controller.sal.binding.model.api.GeneratedType -import org.opendaylight.controller.sal.binding.model.api.MethodSignature -import org.opendaylight.controller.sal.binding.model.api.Type -import java.util.LinkedHashMap - -class InterfaceTemplate { - - val GeneratedType genType - val Map imports - val List consts - val List methods - val List enums - val List enclosedGeneratedTypes - - new(GeneratedType genType) { - if (genType == null) { - throw new IllegalArgumentException("Generated type reference cannot be NULL!") - } - - this.genType = genType - imports = GeneratorUtil.createImports(genType) - consts = genType.constantDefinitions - methods = genType.methodDefinitions - enums = genType.enumerations - enclosedGeneratedTypes = genType.enclosedTypes - } - - def generate() { - val body = generateBody - val pkgAndImports = generatePkgAndImports - return pkgAndImports.toString + body.toString - } - - def private generateBody() ''' - «genType.comment.generateComment» - «generateIfcDeclaration» { - - «generateInnerClasses» - - «generateEnums» - - «generateConstants» - - «generateMethods» - - } - - ''' - - def private generateComment(String comment) ''' - «IF comment != null && !comment.empty» - /* - «comment» - */ - «ENDIF» - ''' - - def private generateIfcDeclaration() ''' - public interface «genType.name»« - IF (!genType.implements.empty)»« - " extends "»« - FOR type : genType.implements SEPARATOR ", "»« - type.resolveName»« - ENDFOR»« - ENDIF - »''' - - def private generateInnerClasses() ''' - «IF !enclosedGeneratedTypes.empty» - «FOR innerClass : enclosedGeneratedTypes SEPARATOR "\n"» - «IF (innerClass instanceof GeneratedTransferObject)» - «val classTemplate = new ClassTemplate(innerClass as GeneratedTransferObject)» - «classTemplate.generateAsInnerClass» - «ENDIF» - «ENDFOR» - «ENDIF» - ''' - - def private generateEnums() ''' - «IF !enums.empty» - «FOR e : enums SEPARATOR "\n"» - «val enumTemplate = new EnumTemplate(e)» - «enumTemplate.generateAsInnerClass» - «ENDFOR» - «ENDIF» - ''' - - def private generateConstants() ''' - «IF !consts.empty» - «FOR c : consts» - «IF c.name != TypeConstants.PATTERN_CONSTANT_NAME» - public static final «c.type.resolveName» «c.name» = «c.value»; - «ENDIF» - «ENDFOR» - «ENDIF» - ''' - - def private generateMethods() ''' - «IF !methods.empty» - «FOR m : methods SEPARATOR "\n"» - «m.comment.generateComment» - «m.returnType.resolveName» «m.name»(«m.parameters.generateParameters»); - «ENDFOR» - «ENDIF» - ''' - - def private generateParameters(List parameters) '''« - IF !parameters.empty»« - FOR parameter : parameters SEPARATOR ", "»« - parameter.type.resolveName» «parameter.name»« - ENDFOR»« - ENDIF - »''' - - def private generatePkgAndImports() ''' - package «genType.packageName»; - - - «IF !imports.empty» - «FOR entry : resolveImports.entrySet» - import «entry.value».«entry.key»; - «ENDFOR» - «ENDIF» - - ''' - - def private Map resolveImports() { - val innerTypeImports = GeneratorUtil.createChildImports(genType) - val Map resolvedImports = new LinkedHashMap - for (Map.Entry entry : imports.entrySet() + innerTypeImports.entrySet) { - val typeName = entry.getKey(); - val packageName = entry.getValue(); - if (packageName != genType.packageName && packageName != genType.fullyQualifiedName) { - resolvedImports.put(typeName, packageName); - } - } - return resolvedImports - } - - def private resolveName(Type type) { - GeneratorUtil.putTypeIntoImports(genType, type, imports); - GeneratorUtil.getExplicitType(genType, type, imports) - } - -} \ No newline at end of file