private MethodSpec setter( NameAllocator nameAllocator, TypeName builderType, OneOf oneOf, Field field) { TypeName javaType = fieldType(field); String fieldName = nameAllocator.get(field); MethodSpec.Builder result = MethodSpec.methodBuilder(fieldName) .addModifiers(PUBLIC) .addParameter(javaType, fieldName) .returns(builderType); if (!field.documentation().isEmpty()) { result.addJavadoc("$L\n", sanitizeJavadoc(field.documentation())); } if (field.isDeprecated()) { result.addAnnotation(Deprecated.class); } if (field.isRepeated() || field.type().isMap()) { result.addStatement("$T.checkElementsNotNull($L)", Internal.class, fieldName); } result.addStatement("this.$L = $L", fieldName, fieldName); if (oneOf != null) { for (Field other : oneOf.fields()) { if (field != other) { result.addStatement("this.$L = null", nameAllocator.get(other)); } } } result.addStatement("return this"); return result.build(); }
FieldSpec.Builder fieldBuilder = FieldSpec.builder(fieldJavaType, fieldName, PUBLIC, FINAL); fieldBuilder.addAnnotation(wireFieldAnnotation(field)); if (!field.documentation().isEmpty()) { fieldBuilder.addJavadoc("$L\n", sanitizeJavadoc(field.documentation()));
private MethodSpec setter( NameAllocator nameAllocator, TypeName builderType, OneOf oneOf, Field field) { TypeName javaType = fieldType(field); String fieldName = nameAllocator.get(field); MethodSpec.Builder result = MethodSpec.methodBuilder(fieldName) .addModifiers(PUBLIC) .addParameter(javaType, fieldName) .returns(builderType); if (!field.documentation().isEmpty()) { result.addJavadoc("$L\n", sanitizeJavadoc(field.documentation())); } if (field.isDeprecated()) { result.addAnnotation(Deprecated.class); } if (field.isRepeated() || field.type().isMap()) { result.addStatement("$T.checkElementsNotNull($L)", Internal.class, fieldName); } result.addStatement("this.$L = $L", fieldName, fieldName); if (oneOf != null) { for (Field other : oneOf.fields()) { if (field != other) { result.addStatement("this.$L = null", nameAllocator.get(other)); } } } result.addStatement("return this"); return result.build(); }
private Map<String, Schema> buildProperties(MessageType protoType) { Map<String, Schema> properties = new LinkedHashMap<>(); // 不处理oneof ImmutableList<Field> fields = protoType.fields(); for (Field field : fields) { ProtoType fieldType = field.type(); String fieldName = field.name(); Schema property = getSchemaByType(fieldType); if (field.isRepeated()) { property = new ArraySchema().items(property); } property.description(field.documentation()); properties.put(fieldName, property); } return properties; }
/** * https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#parameter-object * * @param rpc * @return */ @Override protected List<Parameter> getParameters(Rpc rpc) { ArrayList<Parameter> parameters = Lists.newArrayList(); ProtoType protoType = rpc.requestType(); Type type = schmea.getType(protoType); if( type instanceof MessageType){ ImmutableList<Field> fields = ((MessageType) type).fields(); for (Field field : fields) { Parameter parameter = new Parameter(); parameter.name(field.name()); parameter.in("query"); parameter.schema(refHelper.get().getSchemaByType(field.type())); parameter.description(field.documentation()); parameters.add(parameter); } } return parameters; }
fieldBuilder.addAnnotation(jsonPropertyAnnotation(field)); if (!field.documentation().isEmpty()) { fieldBuilder.addJavadoc("$L\n", sanitizeJavadoc(field.documentation()));
FieldSpec.Builder fieldBuilder = FieldSpec.builder(fieldJavaType, fieldName, PUBLIC, FINAL); fieldBuilder.addAnnotation(wireFieldAnnotation(field)); if (!field.documentation().isEmpty()) { fieldBuilder.addJavadoc("$L\n", sanitizeJavadoc(field.documentation()));