private String getMessageJavaType(String packageName, DescriptorProto sourceMessageDesc,
FieldDescriptorProto field) {
String fieldType = CommonUtils.findNotIncludePackageType(field.getTypeName());
Map<String, Pair<DescriptorProto, List<FieldDescriptorProto>>> nestedFieldType =
transform(sourceMessageDesc);
// isMap
if (nestedFieldType.containsKey(fieldType)) {
Pair<DescriptorProto, List<FieldDescriptorProto>> nestedFieldPair =
nestedFieldType.get(fieldType);
if (nestedFieldPair.getRight().size() == 2) {
DescriptorProto mapSourceMessageDesc = nestedFieldPair.getLeft();
List<FieldDescriptorProto> mapFieldList = nestedFieldPair.getRight();
String nestedJavaType =
"java.util.Map<" + findJavaType(packageName, mapSourceMessageDesc, mapFieldList.get(0))
+ "," + findJavaType(packageName, mapSourceMessageDesc, mapFieldList.get(1)) + ">";
return nestedJavaType;
} else {
return null;
}
} else {
return CommonUtils.findPojoTypeFromCache(field.getTypeName(), pojoTypeCache);
}
}
PrintMessageFile.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:saluki
作者:
评论列表
文章目录