private void genPropToJson(String before, String after, PropertyInfo prop, PrintWriter writer) { String indent = " "; if (prop.isList() || prop.isSet()) { writer.print(indent + "if (obj." + prop.getGetterMethod() + "() != null) {\n"); writer.print(indent + " JsonArray array = new JsonArray();\n"); writer.print(indent + " obj." + prop.getGetterMethod() + "().forEach(item -> array.add(" + before + "item" + after + "));\n"); writer.print(indent + " json.put(\"" + prop.getName() + "\", array);\n"); writer.print(indent + "}\n"); } else if (prop.isMap()) { writer.print(indent + "if (obj." + prop.getGetterMethod() + "() != null) {\n"); writer.print(indent + " JsonObject map = new JsonObject();\n"); writer.print(indent + " obj." + prop.getGetterMethod() + "().forEach((key, value) -> map.put(key, " + before + "value" + after + "));\n"); writer.print(indent + " json.put(\"" + prop.getName() + "\", map);\n"); writer.print(indent + "}\n"); } else { String sp = ""; if (prop.getType().getKind() != ClassKind.PRIMITIVE) { sp = " "; writer.print(indent + "if (obj." + prop.getGetterMethod() + "() != null) {\n"); } writer.print(indent + sp + "json.put(\"" + prop.getName() + "\", " + before + "obj." + prop.getGetterMethod() + "()" + after + ");\n"); if (prop.getType().getKind() != ClassKind.PRIMITIVE) { writer.print(indent + "}\n"); } } }
private void genPropFromJson(String cast, String before, String after, PropertyInfo prop, PrintWriter writer) { String indent = " "; writer.print(indent + "case \"" + prop.getName() + "\":\n"); if (prop.isList() || prop.isSet()) { writer.print(indent + " if (member.getValue() instanceof JsonArray) {\n");
private void generateDoc(DataObjectModel model, CodeWriter writer) { Doc doc = model.getDoc(); if (doc != null) { writer.println("/**"); writer.println(" * A function providing a DSL for building [" + model.getType().getName() + "] objects."); writer.println(" *"); Token.toHtml(doc.getTokens(), " *", KotlinCodeGenHelper::renderLinkToHtml, "\n", writer); writer.println(" *"); model.getPropertyMap().values().stream().filter(filterProperties()).forEach(p -> { writer.print(" * @param " + p.getName() + " "); if (p.getDoc() != null) { String docInfo = Token.toHtml(p.getDoc().getTokens(), "", KotlinCodeGenHelper::renderLinkToHtml, "").replace("/*", "/<star>"); writer.print(docInfo); } writer.println(); }); writer.println(" *"); writer.println(" * <p/>"); writer.println(" * NOTE: This function has been automatically generated from the [" + model.getType().getName() + " original] using Vert.x codegen."); writer.println(" */"); } }
.stream() .filter(filterProperties()) .map(p -> " " + p.getName() + ": " + applyPropertyKind(mapKotlinType(p.getType()), p.getKind()) + "? = null") .collect(Collectors.joining(",\n")); writer.print(paramsInfo); .filter(filterProperties()) .forEach(p -> { String propertyName = p.getName(); PropertyKind propertyKind = p.getKind(); writer.println("if (" + propertyName + " != null) {"); writer.indent(); if (p.getSetterMethod() != null) { writer.print("this." + (isKotlin ? (p.getName() + " = ") : (p.getSetterMethod() + "("))); writer.print(propertyName); if (propertyKind.isList()) {
private static void assertProperty( PropertyInfo property, String expectedName, String expectedSetter, String expectedAdder, String expectedGetter, TypeInfo expectedType, boolean expectedDeclared, PropertyKind expectedKind, boolean expectedJsonifiable) { assertNotNull(property); assertEquals("Was expecting property to have be declared=" + expectedDeclared, expectedDeclared, property.isDeclared()); assertEquals(expectedSetter, property.getSetterMethod()); assertEquals(expectedAdder, property.getAdderMethod()); assertEquals(expectedGetter, property.getGetterMethod()); assertEquals(expectedName, property.getName()); assertEquals(expectedType, property.getType()); assertEquals(expectedKind, property.getKind()); assertEquals(expectedJsonifiable, property.isJsonifiable()); }