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.java.api.generator.txt.enumTemplate;
17 import org.opendaylight.mdsal.binding.javav2.model.api.Enumeration;
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 * Return list of enumeration pairs with javadoc.
35 * @param enumeration enumeration to write.
36 * @return List of enumeration pairs with javadoc
38 public static String writeEnumeration(final Enumeration enumeration) {
39 final List<CharSequence> strings = new LinkedList<>();
40 if (!enumeration.getValues().isEmpty()) {
41 for (Enumeration.Pair pair : enumeration.getValues()) {
42 final StringBuilder sb = new StringBuilder();
43 sb.append(asJavadoc(encodeAngleBrackets(pair.getDescription().orElse(null))));
45 sb.append(pair.getMappedName());
47 sb.append(pair.getValue());
49 sb.append(pair.getName());
54 return String.join(",\n", strings).concat(";");