@Override public String render(DataObjectModel 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/options\" />\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(); } }
public static String renderDocLink(TypeInfo type, Tag.Link link) { ClassTypeInfo rawType = link.getTargetType().getRaw(); if (rawType.getModule() != null) { String label = link.getLabel().trim(); if (rawType.getKind() == ClassKind.ENUM) { return "[[" + convertToScalaNotation(rawType.getName()) + "]]"; if (rawType.getKind() == ClassKind.DATA_OBJECT) { if (label.length() == 0) { label = rawType.getSimpleName(); String ret = "[[" + rawType.getRaw().translateName("scala"); if (eltKind.equals("METHOD")) { if (!elt.getSimpleName().toString().equals("executeBlocking") && ((ExecutableElement)elt).getParameters().size() > 0 && isAsyncResultHandlerHandler(((ExecutableElement)elt).getParameters().get(((ExecutableElement)elt).getParameters().size()-1))) { return "[[" + toScalaDocType(rawType.getName()) + "]]";
writer.print(type.translatePackageName(id)); writer.println(";"); writer.println(); writer.print(type.getName()); writer.println(".class)"); if ("io.vertx.core.buffer.Buffer".equals(type.getName())) { writer.print(" implements io.vertx.core.shareddata.impl.ClusterSerializable"); if ("io.vertx.core.buffer.Buffer".equals(type.getName())) { writer.println(" @Override"); writer.println(" public void writeToBuffer(io.vertx.core.buffer.Buffer buffer) {"); writer.println(" if (o == null || getClass() != o.getClass()) return false;"); writer.print(" "); writer.print(type.getSimpleName()); writer.print(" that = ("); writer.print(type.getSimpleName()); writer.println(") o;"); writer.println(" return delegate.equals(that.delegate);"); } else { writer.print(" "); writer.print(type.getName()); writer.println(" getDelegate();"); writer.println(); if (type.getRaw().getName().equals("io.vertx.core.streams.ReadStream")) {
private String renderLinkToHtml(Tag.Link link) { ClassTypeInfo rawType = link.getTargetType().getRaw(); if (rawType.getModule() != null) { String label = link.getLabel().trim(); if (rawType.getKind() == DATA_OBJECT) { return "{@link " + rawType.getName() + "}"; } else { if (rawType.getKind() == ClassKind.API) { Element elt = link.getTargetElement(); String eltKind = elt.getKind().name(); String ret = "{@link " + rawType.translateName(id); if ("METHOD".equals(eltKind)) { /* todo find a way for translating the complete signature */ ret += "#" + elt.getSimpleName().toString(); } if (label.length() > 0) { ret += " " + label; } ret += "}"; return ret; } } } return "{@link " + rawType.getName() + "}"; } }
@Override public String getFqn() { return type.getName(); }
if (referencedType.getKind() == ClassKind.ENUM) { if (referencedType.getRaw().getModuleName().equals(model.getType().getRaw().getModuleName())) { writer.printf("import { %s } from './enums';\n", referencedType.getSimpleName()); imports = true; } else { writer.printf("import { %s } from '%s/enums';\n", referencedType.getSimpleName(), getNPMScope(referencedType.getRaw().getModule())); imports = true; if (referencedType.getKind() == ClassKind.DATA_OBJECT) { if (!referencedType.getRaw().getModuleName().equals(model.getType().getRaw().getModuleName())) { writer.printf("import { %s } from '%s/options';\n", referencedType.getSimpleName(), getNPMScope(referencedType.getRaw().getModule())); imports = true; if (referencedType.getKind() == ClassKind.API) { if (referencedType.getRaw().getModuleName().equals(model.getType().getRaw().getModuleName())) { writer.printf("import { %s } from './index';\n", referencedType.getSimpleName()); imports = true; } else { writer.printf("import { %s } from '%s';\n", referencedType.getSimpleName(), getNPMScope(referencedType.getRaw().getModule())); imports = true; writer.printf("export %sclass %s {\n", model.isConcrete() ? "" : "abstract ", model.getType().getRaw().getSimpleName()); writer.printf(" constructor(obj: %s);\n", model.getType().getRaw().getSimpleName()); writer.printf(" %s(%s: %s): %s;\n", property.getSetterMethod(), cleanReserved(entry.getKey()), genType(property.getType()), model.getType().getRaw().getSimpleName()); writer.printf(" %s(%s: %s): %s;\n", property.getAdderMethod(), cleanReserved(entry.getKey()), genType(property.getType()), model.getType().getRaw().getSimpleName());
Util.generateLicense(writer); if (type.getModuleName().equals("vertx")) { writer.print("export interface Handler<T> {\n"); writer.print(" handle(arg0: T) : void;\n"); if (!referencedType.getRaw().getModuleName().equals(type.getModuleName())) { writer.printf("import { %s } from '%s';\n", referencedType.getSimpleName(), getNPMScope(referencedType.getRaw().getModule())); imports = true; if (dataObjectType.getRaw().getModuleName().equals(type.getModuleName())) { writer.printf("import { %s } from './options';\n", dataObjectType.getSimpleName()); imports = true; } else { writer.printf("import { %s } from '%s/options';\n", dataObjectType.getSimpleName(), getNPMScope(dataObjectType.getRaw().getModule())); imports = true; if (enumType.getRaw().getModuleName().equals(type.getModuleName())) { writer.printf("import { %s } from './enums';\n", enumType.getSimpleName()); imports = true; } else { writer.printf("import { %s } from '%s/enums';\n", enumType.getSimpleName(), getNPMScope(enumType.getRaw().getModule())); imports = true; writer.printf("export %s %s%s", model.isConcrete() ? "abstract class" : "interface", type.getSimpleName(), genGeneric(type.getParams())); writer.printf("export abstract class %s%s implements %s%s {\n", type.getSimpleName(), genGeneric(type.getParams()), type.getSimpleName(), genGeneric(type.getParams()));
private void genRequire(ClassModel model, PrintWriter writer) { ClassTypeInfo type = model.getType(); writer.println("var utils = require('vertx-js/util/utils');"); for (ClassTypeInfo referencedType : model.getReferencedTypes()) { writer.format("var %s = require('%s');\n", referencedType.getSimpleName(), getModuleName(referencedType)); } writer.println(); //The top level vars for the module writer.println("var io = Packages.io;"); writer.println("var JsonObject = io.vertx.core.json.JsonObject;"); writer.format("var J%s = Java.type('%s');\n", type.getSimpleName(), type.getName()); for (ClassTypeInfo dataObjectType : model.getReferencedDataObjectTypes()) { writer.format("var %s = Java.type('%s');\n", dataObjectType.getSimpleName(), dataObjectType.getName()); } } }
public static String renderLinkToHtml(Tag.Link link) { ClassTypeInfo rawType = link.getTargetType().getRaw(); if (rawType.getModule() != null) { String label = link.getLabel().trim(); if (rawType.getKind() == ClassKind.DATA_OBJECT) { return "[" + rawType.getName() + "]"; } else { if (rawType.getKind() == ClassKind.API) { String ret = "[" + rawType.getName() + "]"; if (label.length() > 0) { ret += "[" + label + "]" + ret; } return ret; } } } return "[" + rawType.getName() + "]"; } }
@Override public String render(Model model, int index, int size, Map<String, Object> session) { Map<String, Object> vars = new HashMap<>(); ClassTypeInfo type = ((ClassTypeInfo)model.getVars().get("type")); Set<TypeInfo> importedTypes = (Set<TypeInfo>)model.getVars().get("importedTypes"); Set<TypeInfo> superTypes = (Set<TypeInfo>)model.getVars().get("superTypes"); vars.putAll(TypeNameTranslator.vars(name)); vars.putAll(model.getVars()); vars.put("typeHelper", new TypeHelper()); vars.put("className", Helper.getSimpleName(type.getName())); vars.put("packageName", type.getRaw().translatePackageName("scala")); vars.put("imps", adjustedImports(type, importedTypes, superTypes)); vars.put("isAllSuperTypesAbstract",isAllSuperTypesAbstract(superTypes)); vars.putAll(ClassKind.vars()); vars.putAll(MethodKind.vars()); vars.putAll(Case.vars()); Writer writer = new StringWriter(); try { template.process(vars, writer); return writer.toString(); } catch (TemplateException e) { e.printStackTrace(); throw new RuntimeException(e); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } }
private String generateFun(DataObjectModel model, CodeWriter writer) { String functionName = model.getType().getSimpleName(Case.LOWER_CAMEL) + "Of"; generateFunction(functionName, model, writer); return functionName; }
if (rawType.getModule() != null) { String label = link.getLabel().trim(); if (rawType.getKind() == DATA_OBJECT) { if (label.length() == 0) { label = rawType.getSimpleName(); return "<a href=\"../../dataobjects.html#" + rawType.getSimpleName() + "\">" + label + "</a>"; } else if (rawType.getKind() == ENUM && ((EnumTypeInfo) rawType).isGen()) { if (label.length() == 0) { label = rawType.getSimpleName(); return "<a href=\"../../enums.html#" + rawType.getSimpleName() + "\">" + label + "</a>"; } else { if (label.length() > 0) { String jsType = rawType.getSimpleName(); ElementKind kind = elt.getKind(); if (kind == CLASS || kind == INTERFACE) {
@Override public String render(ClassModel model, int index, int size, Map<String, Object> session) { ClassTypeInfo type = model.getType(); String simpleName = type.getSimpleName(); String ifaceName = Helper.decapitaliseFirstLetter(simpleName); StringWriter sw = new StringWriter(); writer.print(superType.getRaw().getSimpleName()); writer.print(".call(this, j_val"); if (superType instanceof ParameterizedTypeInfo && ((ApiTypeInfo) superType.getRaw()).isConcrete()) { writer.format("%s._jclass = utils.getJavaClass(\"%s\");\n", simpleName, type.getRaw().getName());
@Override public String render(DataObjectModel model, int index, int size, Map<String, Object> session) { StringWriter buffer = new StringWriter(); PrintWriter writer = new PrintWriter(buffer); String visibility= model.isPublicConverter() ? "public" : ""; String simpleName = model.getType().getSimpleName(); boolean inheritConverter = model.getInheritConverter(); writer.print("package " + model.getType().getPackageName() + ";\n"); writer.print("\n"); writer.print("import io.vertx.core.json.JsonObject;\n"); writer.print("import io.vertx.core.json.JsonArray;\n"); writer.print("import java.time.Instant;\n"); writer.print("import java.time.format.DateTimeFormatter;\n"); writer.print("\n"); writer.print("/**\n"); writer.print(" * Converter for {@link " + model.getType() + "}.\n"); writer.print(" * NOTE: This class has been automatically generated from the {@link " + model.getType() + "} original class using Vert.x codegen.\n"); writer.print(" */\n"); writer.print(visibility + " class " + simpleName + "Converter {\n"); writer.print("\n"); generateFromson(visibility, inheritConverter, model, writer); writer.print("\n"); generateToJson(visibility, inheritConverter, model, writer); writer.print("}\n"); return buffer.toString(); }
if (type.getRaw().getModule() != null) { return type.getSimpleName(); } else { first = false; return type.getRaw().getSimpleName() + "<" + sb.toString() + ">"; } else { if (type.getRaw() != null && type.getRaw().getParams().size() > 0) { for (TypeParamInfo t : type.getRaw().getParams()) { if (!first) { sb.append(", ");
@Override public String filename(ClassModel model) { ClassTypeInfo type = model.getType(); return "resources/" + type.getModuleName() + "-js/" + Helper.convertCamelCaseToUnderscores(type.getRaw().getSimpleName()) + ".js"; }
return String.format("utils.convReturnListSetEnum(%s)", templ); } else if (elementKind == API) { return String.format("utils.convReturnListSetVertxGen(%s, %s)", templ, elementType.getRaw().getSimpleName()); } else if ("java.lang.Long".equals(elementType.getName())) { return String.format("utils.convReturnListSetLong(%s)", templ); StringWriter buffer = new StringWriter(); PrintWriter writer = new PrintWriter(buffer); writer.format("utils.convReturnVertxGen(%s, %s", returnType.getRaw().getSimpleName(), templ); if (returnType.isParameterized()) { for (TypeInfo arg : ((ParameterizedTypeInfo) returnType).getArgs()) { for (TypeParamInfo.Class param : type.getParams()) { if (param.getName().equals(returnType.getName())) { wrapper = "j_" + param.getName() + ".wrap";