sb.append(COMA); if (varArg.getTypeRef().getDimensions() == 1) { sb.append(varArg.getTypeRef().withDimensions(0)).append(VARARG).append(SPACE); } else {
if (m.getReturnType().getDimensions() > 0) { sb.append(".addAllTo").append(StringUtils.capitalizeFirst(trimmedName)).append("(") .append("Arrays.asList(")
/** * Returns the string representation of the code that given a reference of the specified type, reads the specified property. * @param ref The reference. * @param source The type of the reference. * @param property The property to read. * @return The code. */ private static String readProperty(String ref, TypeDef source, Property property) { TypeRef propertyTypeRef = property.getTypeRef(); Method getter = getterOf(source, property); if (getter == null) { return "null"; } TypeRef getterTypeRef = getter.getReturnType(); if (propertyTypeRef.getDimensions() == getterTypeRef.getDimensions() && propertyTypeRef.isAssignableFrom(getterTypeRef)) { return readObjectProperty(ref, source, property); } if (property.getTypeRef().getDimensions() > 0) { return readArrayProperty(ref, source, property); } if (property.getTypeRef() instanceof ClassRef && ((ClassRef)getterTypeRef).getDefinition().isAnnotation()) { return readAnnotationProperty(ref + "."+getter.getName()+"()", ((ClassRef) getterTypeRef).getDefinition(), property); } return readObjectProperty(ref, source, property); }
return targetRef.withDimensions(dimensions + targetRef.getDimensions());
public static JSONSchemaProps from(TypeRef typeRef) { //1. Handle Collections and Arrays if (typeRef.getDimensions() > 0 || TypeUtils.isCollection(typeRef)) { return new JSONSchemaPropsBuilder() .withType("array") .withNewItems() .withSchema(from(TypeAs.combine(TypeAs.UNWRAP_ARRAY_OF, TypeAs.UNWRAP_COLLECTION_OF).apply(typeRef))) .and() .build(); //2. Handle Standard Types } else if (TYPE_MAP.containsKey(typeRef)) { return new JSONSchemaPropsBuilder() .withType(TYPE_MAP.get(typeRef)) .build(); //3. Handle Optionals } else if (TypeUtils.isOptional(typeRef)) { return from(TypeAs.UNWRAP_OPTIONAL_OF.apply(typeRef)); //4. Handle complex types } else if (typeRef instanceof ClassRef) { ClassRef classRef = (ClassRef) typeRef; TypeDef def = classRef.getDefinition(); return from(def); } return null; } }
typeRef = typeRef.withDimensions(typeRef.getDimensions() + 1);