X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FInterfaceGenerator.java;fp=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FInterfaceGenerator.java;h=8a0054bd8afd1f244d970d1c7643fcf4cb748dab;hp=0000000000000000000000000000000000000000;hb=42210c03b0a4c54706320ba9f55794c0abd4d201;hpb=7576b38152b393793b1c9ec3df0ff86685f95236 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 new file mode 100644 index 0000000000..8a0054bd8a --- /dev/null +++ b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2013 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 + */ +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.List; + +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.GeneratedType; +import org.opendaylight.controller.sal.binding.model.api.MethodSignature; + +public class InterfaceGenerator implements CodeGenerator { + + public Writer generate(GeneratedType type) throws IOException { + Writer writer = new StringWriter(); + final List constants = type.getConstantDefinitions(); + final List methods = type.getMethodDefinitions(); + final List enums = type.getEnumDefintions(); + + writer.write(GeneratorUtil.createIfcDeclarationWithPkgName( + type.getPackageName(), type.getName(), "")); + writer.write(NL); + + if (constants != null) { + for (Constant c : constants) { + writer.write(GeneratorUtil.createConstant(c, TAB) + NL); + } + writer.write(NL); + } + + if (methods != null) { + for (MethodSignature m : methods) { + writer.write(GeneratorUtil.createMethodDeclaration(m, TAB) + NL); + } + writer.write(NL); + } + + if (enums != null) { + for (Enumeration e : enums) { + writer.write(GeneratorUtil.createEnum(e, TAB) + NL); + } + writer.write(NL); + } + + writer.write(RCB); + + return writer; + } + +}