2 * Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers;
11 import static org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.asJavadoc;
12 import static org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.encodeAngleBrackets;
14 import java.util.LinkedList;
15 import java.util.List;
16 import org.opendaylight.mdsal.binding.javav2.model.api.Enumeration;
17 import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.enumTemplate;
19 public class EnumRenderer extends BaseRenderer {
20 private final Enumeration enums;
22 public EnumRenderer(final Enumeration type) {
28 protected String body() {
29 String importedName = importedName(String.class);
30 return enumTemplate.render(enums, importedName).body();
34 * @param enumeration enumeration to write
35 * @return List of enumeration pairs with javadoc
37 public static String writeEnumeration(final Enumeration enumeration) {
38 final List<CharSequence> strings = new LinkedList<>();
39 if (!enumeration.getValues().isEmpty()) {
40 for (Enumeration.Pair pair : enumeration.getValues()) {
41 final StringBuilder sb = new StringBuilder();
42 sb.append(asJavadoc(encodeAngleBrackets(pair.getDescription().orElse(null))));
44 sb.append(pair.getMappedName());
46 sb.append(pair.getValue());
48 sb.append(pair.getName());
53 return String.join(",\n", strings).concat(";");