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

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

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

Message.getRepeatedFieldCount介绍

暂无

代码示例

代码示例来源:origin: opensourceBIM/BIMserver

  1. int size = message.getRepeatedFieldCount(fieldDescriptor);
  2. for (int index=0; index<size; index++) {
  3. Object repeatedField = message.getRepeatedField(fieldDescriptor, index);

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

  1. @Override
  2. @Nullable
  3. public <M extends Message> Boolean evalMessage(@Nonnull FDBRecordStoreBase<M> store, @Nonnull EvaluationContext context,
  4. @Nullable FDBRecord<M> record, @Nullable Message message) {
  5. if (message == null) {
  6. return null;
  7. }
  8. final int count = message.getRepeatedFieldCount(findFieldDescriptor(message));
  9. if (isEmpty) {
  10. return (count == 0);
  11. } else {
  12. return (count > 0);
  13. }
  14. }

代码示例来源:origin: googleapis/api-compiler

  1. int sizeBeforeMerge =
  2. configBuilder.getRepeatedFieldCount(fieldInLocationsToMerge)
  3. - messageToMergeForm.getRepeatedFieldCount(fieldInLocationsToMerge);
  4. keyToMerge =
  5. new LocationKey(keyToMerge.field, sizeBeforeMerge + (int) keyToMerge.elementKey);

代码示例来源:origin: com.google.api/api-compiler

  1. int sizeBeforeMerge =
  2. configBuilder.getRepeatedFieldCount(fieldInLocationsToMerge)
  3. - messageToMergeForm.getRepeatedFieldCount(fieldInLocationsToMerge);
  4. keyToMerge =
  5. new LocationKey(keyToMerge.field, sizeBeforeMerge + (int) keyToMerge.elementKey);

代码示例来源:origin: cloudera-labs/envelope

  1. /**
  2. * Retrieves and converts Protobuf fields from a Message.
  3. * <p>
  4. * If the field in the {@link com.google.protobuf.Descriptors.Descriptor} exists in the {@link Message}, the value is
  5. * retrieved and converted using {@link #getFieldValue(Descriptors.FieldDescriptor, Object, DataType)}.
  6. * Otherwise, the field value is {@code null}.
  7. * The extraction honors the order of the {@code Descriptor}.
  8. *
  9. * @param dsc the Protobuf Descriptor with all fields
  10. * @param msg the Message with the current field values
  11. * @param schema the Dataset schema derived from the Descriptor
  12. * @return a list of converted values
  13. */
  14. public static List<Object> buildRowValues(Descriptors.Descriptor dsc, Message msg, StructType schema) {
  15. List<Object> values = new ArrayList<>();
  16. Object val;
  17. for (Descriptors.FieldDescriptor fd : dsc.getFields()) {
  18. if ( (!fd.isRepeated() && msg.hasField(fd)) || (fd.isRepeated() && msg.getRepeatedFieldCount(fd) > 0) ) {
  19. val = getFieldValue(fd, msg.getField(fd), schema.apply(fd.getName()).dataType());
  20. } else {
  21. LOG.trace("FieldDescriptor[{}] => not found", fd.getFullName());
  22. val = null;
  23. }
  24. values.add(val);
  25. }
  26. return values;
  27. }

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

  1. @Nonnull
  2. @Override
  3. public <M extends Message> List<Key.Evaluated> evaluateFunction(@Nullable FDBRecord<M> record,
  4. @Nullable Message message,
  5. @Nonnull Key.Evaluated arguments) {
  6. if (message == null) {
  7. return Collections.emptyList();
  8. }
  9. List<Key.Evaluated> keys = new ArrayList<>();
  10. Descriptors.Descriptor descriptor = message.getDescriptorForType();
  11. Descriptors.FieldDescriptor strField = descriptor.findFieldByNumber(TypesRecord.STR_VALUE_FIELD_NUMBER);
  12. Descriptors.FieldDescriptor strListField = descriptor.findFieldByNumber(TypesRecord.STR_LIST_VALUE_FIELD_NUMBER);
  13. if (message.hasField(strField)) {
  14. keys.add(toKey((String) message.getField(strField)));
  15. }
  16. final int len = message.getRepeatedFieldCount(strListField);
  17. for (int i = 0; i < len; i++) {
  18. keys.add(toKey((String) message.getRepeatedField(strListField, i)));
  19. }
  20. return keys;
  21. }

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

  1. if (message.getRepeatedFieldCount(fieldDescriptor) > 0) {
  2. values = (List<Object>)message.getField(fieldDescriptor);
  3. } else {

相关文章