2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
8 package org.opendaylight.controller.sal.java.api.generator;
\r
10 import static org.opendaylight.controller.sal.java.api.generator.Constants.*;
\r
12 import java.io.IOException;
\r
13 import java.io.StringWriter;
\r
14 import java.io.Writer;
\r
15 import java.util.List;
\r
17 import org.opendaylight.controller.sal.binding.model.api.CodeGenerator;
\r
18 import org.opendaylight.controller.sal.binding.model.api.Constant;
\r
19 import org.opendaylight.controller.sal.binding.model.api.Enumeration;
\r
20 import org.opendaylight.controller.sal.binding.model.api.GeneratedType;
\r
21 import org.opendaylight.controller.sal.binding.model.api.MethodSignature;
\r
23 public class InterfaceGenerator implements CodeGenerator {
\r
25 public Writer generate(GeneratedType type) throws IOException {
\r
26 Writer writer = new StringWriter();
\r
27 final List<Constant> constants = type.getConstantDefinitions();
\r
28 final List<MethodSignature> methods = type.getMethodDefinitions();
\r
29 final List<Enumeration> enums = type.getEnumDefintions();
\r
31 writer.write(GeneratorUtil.createIfcDeclarationWithPkgName(
\r
32 type.getPackageName(), type.getName(), ""));
\r
35 if (constants != null) {
\r
36 for (Constant c : constants) {
\r
37 writer.write(GeneratorUtil.createConstant(c, TAB) + NL);
\r
42 if (methods != null) {
\r
43 for (MethodSignature m : methods) {
\r
44 writer.write(GeneratorUtil.createMethodDeclaration(m, TAB) + NL);
\r
49 if (enums != null) {
\r
50 for (Enumeration e : enums) {
\r
51 writer.write(GeneratorUtil.createEnum(e, TAB) + NL);
\r