@Override public Map<String, Object> getVars() { Map<String, Object> vars = Model.super.getVars(); vars.put("type", getType()); vars.put("doc", doc); vars.put("values", values); vars.put("deprecated", deprecated); vars.put("deprecatedDesc", getDeprecatedDesc()); return vars; }
@Override public String render(EnumModel model, int index, int size, Map<String, Object> session) { StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); if (index == 0) { Util.generateLicense(writer); writer.printf("/// <reference types=\"%s/enums\" />\n", getNPMScope(model.getType().getRaw().getModule())); } writer.printf("export const %s = Java.type('%s');\n", model.getType().getRaw().getSimpleName(), model.getType().getName()); return sw.toString(); } }
@Override public String render(EnumModel model, int index, int size, Map<String, Object> session) { StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); if (index == 0) { Util.generateLicense(writer); writer.printf("/// <reference types=\"%s/enums\" />\n", getNPMScope(model.getType().getRaw().getModule())); writer.print("module.exports = {\n"); } writer.printf(" %s: Java.type('%s')", model.getType().getRaw().getSimpleName(), model.getType().getName()); if (index != size - 1) { writer.print(','); } writer.print('\n'); if (index == size - 1) { writer.print("};\n"); } return sw.toString(); } }
private void render(EnumModel model, PrintWriter html) { html.append("[[").append(model.getType().getSimpleName()).append("]]\n"); html.append("== ").append(model.getType().getSimpleName()).append("\n"); html.append("\n"); Doc doc = model.getDoc(); if (doc != null) { html.append("++++\n"); Token.toHtml(doc.getTokens(), "", Tag::getName, "\n", html); html.append("++++\n"); html.append("'''\n"); } html.append("\n"); html.append("[cols=\">25%,75%\"]\n"); html.append("[frame=\"topbot\"]\n"); html.append("|===\n"); html.append("^|Name | Description\n"); model.getValues().forEach(value -> { html.append("|[[").append(value.getIdentifier()).append("]]`").append(value.getIdentifier()).append("`"); html.append("|"); if (value.getDoc() != null) { html.append("+++\n"); html.append(Token.toHtml(value.getDoc().getTokens(), "", Tag::getName, "\n").trim()).append("\n"); html.append("+++\n"); } else { html.append("-\n"); } }); html.append("|===\n"); } }
@Override public String render(EnumModel model, int index, int size, Map<String, Object> session) { StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); if (index == 0) { Util.generateLicense(writer); } else { writer.print("\n"); } writer.printf("export enum %s {\n", model.getType().getRaw().getSimpleName()); for (int i = 0; i < model.getValues().size(); i++) { EnumValueInfo value = model.getValues().get(i); writer.printf(" %s", value.getIdentifier()); if (i != model.getValues().size() - 1) { writer.print(","); } writer.print("\n"); } writer.print("}\n"); return sw.toString(); } }
@Test public void testEnum() throws Exception { EnumModel model = new GeneratorHelper().generateEnum(ValidEnum.class); assertEquals(Arrays.asList("RED", "GREEN", "BLUE"), model.getValues().stream(). map(EnumValueInfo::getIdentifier). collect(Collectors.toList())); assertEquals(Arrays.asList("RED doc", "GREEN doc", "BLUE doc"), model.getValues().stream(). map(e -> e.getDoc().toString()). collect(Collectors.toList())); assertEquals("enum", model.getKind()); assertEquals("ValidEnum doc", model.getDoc().toString()); assertEquals(ValidEnum.class.getName(), model.getFqn()); assertEquals("dummy", model.getModule().getName()); assertTrue(model.getType().isGen()); }