X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FInterfaceGenerator.java;h=381b1575781d2991f4da11280a507475070b4c42;hb=97d2f10bea5bdd773453bc7202b9dd04f4b70c3b;hp=16d63efe1b527fe48d7da11cb468ab4bda54da7d;hpb=756b3a862090ac60968d6ea33b516964e0f24a48;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/InterfaceGenerator.java b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java index 16d63efe1b..381b157578 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java @@ -7,102 +7,26 @@ */ package org.opendaylight.controller.sal.java.api.generator; -import static org.opendaylight.controller.sal.java.api.generator.Constants.*; - import java.io.IOException; import java.io.StringWriter; import java.io.Writer; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; import org.opendaylight.controller.sal.binding.model.api.CodeGenerator; -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; public final class InterfaceGenerator implements CodeGenerator { - private Map> imports; - - private String generateEnums(List enums) { - String result = ""; - if (enums != null) { - EnumGenerator enumGenerator = new EnumGenerator(); - for (Enumeration en : enums) { - try { - result = result - + (enumGenerator.generateInnerEnumeration(en, TAB).toString() + NL); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return result; - } - - private String generateConstants(List constants, String pkgName) { - String result = ""; - if (constants != null) { - for (Constant c : constants) { - result = result - + GeneratorUtil - .createConstant(c, TAB, imports, pkgName) + NL; - } - result.concat(NL); - } - return result; - } - - public String generateMethods(List methods, String pkgName) { - String result = ""; - - if (methods != null) { - for (MethodSignature m : methods) { - result = result - + GeneratorUtil.createMethodDeclaration(m, TAB, - imports, pkgName) + NL; - } - result = result + NL; - } - return result; - } - - public Writer generate(Type type) throws IOException { - Writer writer = new StringWriter(); - if (type instanceof GeneratedType - && !(type instanceof GeneratedTransferObject)) { - GeneratedType genType = (GeneratedType) type; - imports = GeneratorUtil.createImports(genType); - - final String currentPkg = genType.getPackageName(); - final List constants = genType.getConstantDefinitions(); - final List methods = genType - .getMethodDefinitions(); - final List enums = genType.getEnumerations(); - - writer.write(GeneratorUtil.createPackageDeclaration(genType - .getPackageName())); - writer.write(NL); - - List importLines = GeneratorUtil.createImportLines(imports); - for (String line : importLines) { - writer.write(line + NL); - } - writer.write(NL); - writer.write(GeneratorUtil.createIfcDeclaration(genType, "", - imports)); - writer.write(NL); - - writer.write(generateEnums(enums)); - writer.write(generateConstants(constants, currentPkg)); - writer.write(generateMethods(methods, currentPkg)); - - writer.write(RCB); - } - return writer; - } + @Override + public Writer generate(Type type) throws IOException { + final Writer writer = new StringWriter(); + if (type instanceof GeneratedType && !(type instanceof GeneratedTransferObject)) { + final GeneratedType genType = (GeneratedType) type; + final InterfaceTemplate interfaceTemplate = new InterfaceTemplate(genType); + writer.write(interfaceTemplate.generate().toString()); + } + return writer; + } + }