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

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

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

Message.toBuilder介绍

暂无

代码示例

代码示例来源:origin: com.google.protobuf/protobuf-java

private Message coerceType(Message value) {
 if (value == null) {
  return null;
 }
 if (mapEntryMessageDefaultInstance.getClass().isInstance(value)) {
  return value;
 }
 // The value is not the exact right message type.  However, if it
 // is an alternative implementation of the same type -- e.g. a
 // DynamicMessage -- we should accept it.  In this case we can make
 // a copy of the message.
 return mapEntryMessageDefaultInstance.toBuilder().mergeFrom(value).build();
}

代码示例来源:origin: osmandapp/Osmand

private static void eagerlyMergeMessageSetExtension(
  CodedInputStream input,
  ExtensionRegistry.ExtensionInfo extension,
  ExtensionRegistryLite extensionRegistry,
  Message.Builder builder,
  FieldSet<FieldDescriptor> extensions) throws IOException {
 FieldDescriptor field = extension.descriptor;
 Message value = null;
 if (hasOriginalMessage(builder, extensions, field)) {
  Message originalMessage =
    getOriginalMessage(builder, extensions, field);
  Message.Builder subBuilder = originalMessage.toBuilder();
  input.readMessage(subBuilder, extensionRegistry);
  value = subBuilder.buildPartial();
 } else {
  value = input.readMessage(extension.defaultInstance.getParserForType(),
   extensionRegistry);
 }
 if (builder != null) {
  builder.setField(field, value);
 } else {
  extensions.setField(field, value);
 }
}

代码示例来源:origin: googleapis/google-cloud-java

ProtoTextMatcher(Class<T> clazz, String expectedTextFormat) {
 T defaultInstance = getDefaultInstance(clazz);
 Message.Builder builder = defaultInstance.toBuilder();
 try {
  TextFormat.merge(expectedTextFormat, builder);
 } catch (TextFormat.ParseException e) {
  throw new IllegalArgumentException("Invalid text format for " + clazz.getName(), e);
 }
 @SuppressWarnings("unchecked") // T.builder().build() always returns T.
 T expectedInstance = (T) builder.build();
 expected = expectedInstance;
}

代码示例来源:origin: google/truth

static FieldScope createFromSetFields(Iterable<? extends Message> messages) {
 if (emptyOrAllNull(messages)) {
  return create(
    FieldScopeLogic.none(),
    Functions.constant(String.format("FieldScopes.fromSetFields(%s)", messages.toString())));
 }
 Optional<Descriptor> optDescriptor = FieldScopeUtil.getSingleDescriptor(messages);
 checkArgument(
   optDescriptor.isPresent(),
   "Cannot create scope from messages with different descriptors: %s",
   getDescriptors(messages));
 Message.Builder builder = null;
 for (Message message : messages) {
  if (message == null) {
   continue;
  }
  if (builder != null) {
   builder.mergeFrom(message);
  } else {
   builder = message.toBuilder();
  }
 }
 Message aggregateMessage = builder.build();
 return create(
   FieldScopeLogic.partialScope(aggregateMessage),
   Functions.constant(String.format("FieldScopes.fromSetFields(%s)", formatList(messages))));
}

代码示例来源:origin: com.google.protobuf/protobuf-java

@SuppressWarnings("unchecked")
@Override
public Builder<K, V> setField(FieldDescriptor field, Object value) {
 checkFieldDescriptor(field);
 if (field.getNumber() == 1) {
  setKey((K) value);
 } else {
  if (field.getType() == FieldDescriptor.Type.ENUM) {
   value = ((EnumValueDescriptor) value).getNumber();
  } else if (field.getType() == FieldDescriptor.Type.MESSAGE) {
   if (value != null && !metadata.defaultValue.getClass().isInstance(value)) {
    // The value is not the exact right message type.  However, if it
    // is an alternative implementation of the same type -- e.g. a
    // DynamicMessage -- we should accept it.  In this case we can make
    // a copy of the message.
    value =
      ((Message) metadata.defaultValue).toBuilder().mergeFrom((Message) value).build();
   }
  }
  setValue((V) value);
 }
 return this;
}

代码示例来源:origin: osmandapp/Osmand

Message originalMessage =
  getOriginalMessage(builder, extensions, field);
Message.Builder subBuilder= originalMessage.toBuilder();
subBuilder.mergeFrom(rawBytes, extensionRegistry);
value = subBuilder.buildPartial();

代码示例来源:origin: google/bundletool

public static <T extends Message> T mergeFromProtos(T proto, T... rest) {
 Message.Builder builder = proto.toBuilder();
 for (T message : rest) {
  builder.mergeFrom(message);
 }
 @SuppressWarnings("unchecked") // Safe by contract of toBuilder().
 T result = (T) builder.build();
 return result;
}

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

/** Constructs a builder from this configuration message. */
public Builder toBuilder() {
 return new Builder(configMessage, configMessage.toBuilder(), new LinkedHashMap<>(locations));
}

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

/** Constructs a builder from this configuration message. */
public Builder toBuilder() {
 return new Builder(configMessage, configMessage.toBuilder(), new LinkedHashMap<>(locations));
}

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

/**
 * Constructs a new empty builder, based on the given default instance for the underlying config
 * message.
 *
 * <p>An initialized message can also be passed, however, no source location tracking will happen
 * for it.
 */
public static Builder newBuilder(Message defaultInstance) {
 return new Builder(
   defaultInstance,
   defaultInstance.toBuilder(),
   new LinkedHashMap<MessageKey, ImmutableMap<LocationKey, Location>>());
}

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

/**
 * Constructs a new empty builder, based on the given default instance for the underlying config
 * message.
 *
 * <p>An initialized message can also be passed, however, no source location tracking will happen
 * for it.
 */
public static Builder newBuilder(Message defaultInstance) {
 return new Builder(
   defaultInstance,
   defaultInstance.toBuilder(),
   new LinkedHashMap<MessageKey, ImmutableMap<LocationKey, Location>>());
}

代码示例来源:origin: com.twitter.elephantbird/elephant-bird-core

public static Message addField(Message m, String name, Object value) {
 Message.Builder builder = m.toBuilder();
 setFieldByName(builder, name, value);
 return builder.build();
}

代码示例来源:origin: gojektech/feast

private <T extends Message> Map<String, T> getSpecs(
  T prototype, String type, Iterable<String> ids) {
 Map<String, T> specs = new HashMap<>();
 for (String id : ids) {
  Message.Builder builder = prototype.toBuilder();
  mergeJsonProto(getSpecFile(type, id), builder);
  //noinspection unchecked
  specs.put(id, (T) builder.build());
 }
 return specs;
}

代码示例来源:origin: com.google.openrtb/openrtb-core

@SuppressWarnings("unchecked")
@Override protected final void read(EB msg, JsonParser par) throws IOException {
 Object extObj = msg.getExtension(key);
 if (extObj instanceof Message) {
  readSingle(msg, par, (XB) ((Message) extObj).toBuilder());
 } else if (extObj instanceof List<?>) {
  readRepeated(msg, par);
 } else {
  throw new IllegalStateException("Extension must be Message or repeated Message");
 }
}

代码示例来源:origin: xyz.codemeans.protobuf4j/protobuf4j-core

@SuppressWarnings("unchecked")
@Override
public T setFieldValue(T msg, String fieldName, Object fieldValue) {
 Descriptors.FieldDescriptor fd = checkFieldDescriptor(fieldName);
 return (T) msg.toBuilder().setField(fd, fieldValue).build();
}

代码示例来源:origin: com.hubspot.jackson/jackson-datatype-protobuf

@SuppressWarnings("unchecked")
public static <T extends Builder> T createBuilder(Class<T> builderType, ExtensionRegistry extensionRegistry) {
 Class<? extends Message> messageType = (Class<? extends Message>) builderType.getDeclaringClass();
 return (T) create(messageType, extensionRegistry).toBuilder();
}

代码示例来源:origin: com.twitter.elephantbird/elephant-bird-hive

@Override
public Object setStructFieldData(Object data, StructField field, Object fieldValue) {
 return ((Message) data)
   .toBuilder()
   .setField(descriptor.findFieldByName(field.getFieldName()), fieldValue)
   .build();
}

代码示例来源:origin: org.openbase.bco/dal.lib

public UnitDataFilteredObservable(final DataProvider<M> dataProvider, final ServiceTempus serviceTempus, final UnitTemplate unitTemplate) {
  super(dataProvider);
  this.unit = dataProvider;
  this.serviceTempus = serviceTempus;
  this.setHashGenerator((M value) -> removeUnwantedServiceTempus(value.toBuilder()).build().hashCode());
  this.fieldsToKeep = new HashSet<>();
  this.unitTemplate = unitTemplate;
  if (unitTemplate != null) {
    updateFieldsToKeep();
  }
}

代码示例来源:origin: org.openbase.bco/dal.lib

public ServiceDataFilteredObservable(final DataProvider<M> source) {
  super(source);
  this.setHashGenerator((M value) -> removeResponsibleActoin(removeTimestamps(value.toBuilder())).build().hashCode());
}

代码示例来源:origin: org.openbase.bco/dal.lib

private void setRequestedState() throws CouldNotPerformException {
  try (ClosableDataBuilder dataBuilder = unit.getDataBuilder(this)) {
    // set the responsible action for the service attribute
    Message.Builder serviceStateBuilder = serviceAttribute.toBuilder();
    Descriptors.FieldDescriptor fieldDescriptor = ProtoBufFieldProcessor.getFieldDescriptor(serviceStateBuilder, Service.RESPONSIBLE_ACTION_FIELD_NAME);
    serviceStateBuilder.setField(fieldDescriptor, actionDescriptionBuilder.build());
    // set the updated service attribute as requested state in the unit data builder
    Services.invokeServiceMethod(serviceDescription.getType(), serviceDescription.getPattern(), ServiceTempus.REQUESTED, dataBuilder.getInternalBuilder(), serviceStateBuilder);
  }
}

相关文章