com.google.protobuf.Message.getOneofFieldDescriptor()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(1.4k)|赞(0)|评价(0)|浏览(182)

本文整理了Java中com.google.protobuf.Message.getOneofFieldDescriptor()方法的一些代码示例,展示了Message.getOneofFieldDescriptor()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getOneofFieldDescriptor()方法的具体详情如下:
包路径:com.google.protobuf.Message
类名称:Message
方法名:getOneofFieldDescriptor

Message.getOneofFieldDescriptor介绍

暂无

代码示例

代码示例来源:origin: FoundationDB/fdb-record-layer

@Nonnull
@Override
protected Message getUnionField(@Nonnull Descriptors.Descriptor unionDescriptor,
                @Nonnull Message storedRecord) {
  final List<Descriptors.OneofDescriptor> oneofs = unionDescriptor.getOneofs();
  if (!oneofs.isEmpty()) {
    Descriptors.FieldDescriptor unionField = storedRecord.getOneofFieldDescriptor(oneofs.get(0));
    if (unionField != null) {
      return (Message)storedRecord.getField(unionField);
    }
  } else {
    for (Descriptors.FieldDescriptor unionField : unionDescriptor.getFields()) {
      if (storedRecord.hasField(unionField)) {
        return (Message)storedRecord.getField(unionField);
      }
    }
  }
  throw new RecordSerializationException("Union record does not have any fields")
      .addLogInfo("unionDescriptorFullName", unionDescriptor.getFullName())
      .addLogInfo("recordType", storedRecord.getDescriptorForType().getName());
}

代码示例来源:origin: blueapron/kafka-connect-protobuf-converter

final Descriptors.FieldDescriptor fieldDescriptor = message.getOneofFieldDescriptor(oneOfDescriptor);
setStructField(schema, message, result, fieldDescriptor);

相关文章