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

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

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

Message.getRepeatedFieldCount介绍

暂无

代码示例

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

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

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

@Override
@Nullable
public <M extends Message> Boolean evalMessage(@Nonnull FDBRecordStoreBase<M> store, @Nonnull EvaluationContext context,
                        @Nullable FDBRecord<M> record, @Nullable Message message) {
  if (message == null) {
    return null;
  }
  final int count = message.getRepeatedFieldCount(findFieldDescriptor(message));
  if (isEmpty) {
    return (count == 0);
  } else {
    return (count > 0);
  }
}

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

int sizeBeforeMerge =
  configBuilder.getRepeatedFieldCount(fieldInLocationsToMerge)
    - messageToMergeForm.getRepeatedFieldCount(fieldInLocationsToMerge);
keyToMerge =
  new LocationKey(keyToMerge.field, sizeBeforeMerge + (int) keyToMerge.elementKey);

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

int sizeBeforeMerge =
  configBuilder.getRepeatedFieldCount(fieldInLocationsToMerge)
    - messageToMergeForm.getRepeatedFieldCount(fieldInLocationsToMerge);
keyToMerge =
  new LocationKey(keyToMerge.field, sizeBeforeMerge + (int) keyToMerge.elementKey);

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

/**
 * Retrieves and converts Protobuf fields from a Message.
 * <p>
 * If the field in the {@link com.google.protobuf.Descriptors.Descriptor} exists in the {@link Message}, the value is
 * retrieved and converted using {@link #getFieldValue(Descriptors.FieldDescriptor, Object, DataType)}.
 * Otherwise, the field value is {@code null}.
 * The extraction honors the order of the {@code Descriptor}.
 *
 * @param dsc the Protobuf Descriptor with all fields
 * @param msg the Message with the current field values
 * @param schema the Dataset schema derived from the Descriptor
 * @return a list of converted values
 */
public static List<Object> buildRowValues(Descriptors.Descriptor dsc, Message msg, StructType schema) {
 List<Object> values = new ArrayList<>();
 Object val;
 for (Descriptors.FieldDescriptor fd : dsc.getFields()) {
  if ( (!fd.isRepeated() && msg.hasField(fd)) || (fd.isRepeated() && msg.getRepeatedFieldCount(fd) > 0) ) {
   val = getFieldValue(fd, msg.getField(fd), schema.apply(fd.getName()).dataType());
  } else {
   LOG.trace("FieldDescriptor[{}] => not found", fd.getFullName());
   val = null;
  }
  values.add(val);
 }
 return values;
}

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

@Nonnull
@Override
public <M extends Message> List<Key.Evaluated> evaluateFunction(@Nullable FDBRecord<M> record,
                                @Nullable Message message,
                                @Nonnull Key.Evaluated arguments) {
  if (message == null) {
    return Collections.emptyList();
  }
  List<Key.Evaluated> keys = new ArrayList<>();
  Descriptors.Descriptor descriptor = message.getDescriptorForType();
  Descriptors.FieldDescriptor strField = descriptor.findFieldByNumber(TypesRecord.STR_VALUE_FIELD_NUMBER);
  Descriptors.FieldDescriptor strListField = descriptor.findFieldByNumber(TypesRecord.STR_LIST_VALUE_FIELD_NUMBER);
  if (message.hasField(strField)) {
    keys.add(toKey((String) message.getField(strField)));
  }
  final int len = message.getRepeatedFieldCount(strListField);
  for (int i = 0; i < len; i++) {
    keys.add(toKey((String) message.getRepeatedField(strListField, i)));
  }
  return keys;
}

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

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

相关文章