public static String fromPropertyInfoToScala(PropertyInfo info) { if (info.getKind().isValue()){ return toScalaType(info.getType(), false); } else if (info.getKind().isList()){ String ret = "scala.collection.mutable.Buffer"; ret += "[" + toScalaType(info.getType(), false) + "]"; return ret; } else if (info.getKind().isSet()){ String ret = "scala.collection.mutable.Set"; ret += "[" + toScalaType(info.getType(), false) + "]"; return ret; } else if (info.getKind().isMap()){ String ret = "scala.collection.mutable.Map"; ret += "[String, " + toScalaType(info.getType(), false) + "]"; return ret; } return "ERROR fromPropertyInfoToScala got " + info; }
public static String fromPropertyInfoToScalaTypeWithConversion(TypeInfo type, String name, PropertyInfo info) { List<TypeParamInfo> typeParams = new java.util.ArrayList<>(); List<TypeParamInfo> methodTypeParams = new java.util.ArrayList<>(); if (info.getKind().isValue()){ return toScalaWithConversion(name, info.getType(), typeParams, methodTypeParams); } else { String ret = name + ".asScala"; if (doesTypeRequireConversion(type)){ if (info.getKind().isList()) { ret += ".map(x => "+ toScalaWithConversion("x", info.getType(), typeParams, methodTypeParams) +")"; } else if (info.getKind().isSet()){ ret += ".map(x => "+ toScalaWithConversion("x", info.getType(), typeParams, methodTypeParams) +")"; } else if (info.getKind().isMap()){ /*TODO: expensive*/ ret += ".mapValues(x => "+ toScalaWithConversion("x", info.getType(), typeParams, methodTypeParams) +")"; ret = "collection.mutable.Map("+ ret + ".toSeq: _*)"; } } return ret; } }
.stream() .filter(filterProperties()) .map(p -> " " + p.getName() + ": " + applyPropertyKind(mapKotlinType(p.getType()), p.getKind()) + "? = null") .collect(Collectors.joining(",\n")); writer.print(paramsInfo); .forEach(p -> { String propertyName = p.getName(); PropertyKind propertyKind = p.getKind(); writer.println("if (" + propertyName + " != null) {"); writer.indent();
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()); }