private FieldDescriptorProto generateField(Field field) {
FieldDescriptorProto.Builder builder = FieldDescriptorProto.newBuilder();
builder.setName(getFieldName(field));
builder.setNumber(field.getNumber());
builder.setLabel(toLabel(field.getCardinality()));
builder.setType(toType(field.getKind()));
if (field.getKind() == Kind.TYPE_ENUM
|| field.getKind() == Kind.TYPE_MESSAGE
|| field.getKind() == Kind.TYPE_GROUP) {
builder.setTypeName(getTypeName(field.getTypeUrl()));
}
// NOTE: extendee not supported
// NOTE: default_value not supported
if (field.getOneofIndex() != 0) {
// Index in the containing type's oneof_decl is zero-based.
// Index in google.protobuf.type.Field.oneof_index is one-based.
builder.setOneofIndex(field.getOneofIndex() - 1);
}
if (!Strings.isNullOrEmpty(field.getDefaultValue())) {
builder.setDefaultValue(field.getDefaultValue());
}
FieldOptions options = getFieldOptions(field);
if (!options.equals(FieldOptions.getDefaultInstance())) {
builder.setOptions(options);
}
return builder.build();
}
DescriptorGenerator.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:api-compiler
作者:
评论列表
文章目录