Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Stream<PluginProtos.CodeGeneratorResponse.File> handleMessageType(final DescriptorProtos.DescriptorProto messageTypeDesc) {
- String fileName = javaPackage.replace(".", "/") + "/" + messageTypeDesc.getName() + JAVA_EXTENSION;
- String builder_methods = messageTypeDesc.getFieldList().stream()
- .map(this::handleBuilderField)
- .filter(StringUtils::isNotBlank)
- .collect(Collectors.joining("\n\n"));
- List<PluginProtos.CodeGeneratorResponse.File> files = new ArrayList<>();
- if (StringUtils.isNotBlank(builder_methods)) {
- String builderScopeStr = builder_methods + "\n\n";
- files.add(PluginProtos.CodeGeneratorResponse.File
- .newBuilder()
- .setName(fileName)
- .setContent(builderScopeStr)
- .setInsertionPoint("builder_scope:" + fileDesc.getPackage() + "." + messageTypeDesc.getName())
- .build()
- );
- }
- String classScopeStr = messageTypeDesc.getFieldList().stream()
- .filter(field -> field.getLabel() != DescriptorProtos.FieldDescriptorProto.Label.LABEL_REPEATED)
- .map(this::handleClassField)
- .filter(StringUtils::isNotBlank)
- .collect(Collectors.joining("\n\n"));
- if (StringUtils.isNotBlank(classScopeStr)) {
- files.add(PluginProtos.CodeGeneratorResponse.File
- .newBuilder()
- .setName(fileName)
- .setContent(classScopeStr)
- .setInsertionPoint("class_scope:" + fileDesc.getPackage() + "." + messageTypeDesc.getName())
- .build()
- );
- }
- // create a new file for protoc to write
- return files.stream();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement