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

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

本文整理了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

  1. private Message coerceType(Message value) {
  2. if (value == null) {
  3. return null;
  4. }
  5. if (mapEntryMessageDefaultInstance.getClass().isInstance(value)) {
  6. return value;
  7. }
  8. // The value is not the exact right message type. However, if it
  9. // is an alternative implementation of the same type -- e.g. a
  10. // DynamicMessage -- we should accept it. In this case we can make
  11. // a copy of the message.
  12. return mapEntryMessageDefaultInstance.toBuilder().mergeFrom(value).build();
  13. }

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

  1. private static void eagerlyMergeMessageSetExtension(
  2. CodedInputStream input,
  3. ExtensionRegistry.ExtensionInfo extension,
  4. ExtensionRegistryLite extensionRegistry,
  5. Message.Builder builder,
  6. FieldSet<FieldDescriptor> extensions) throws IOException {
  7. FieldDescriptor field = extension.descriptor;
  8. Message value = null;
  9. if (hasOriginalMessage(builder, extensions, field)) {
  10. Message originalMessage =
  11. getOriginalMessage(builder, extensions, field);
  12. Message.Builder subBuilder = originalMessage.toBuilder();
  13. input.readMessage(subBuilder, extensionRegistry);
  14. value = subBuilder.buildPartial();
  15. } else {
  16. value = input.readMessage(extension.defaultInstance.getParserForType(),
  17. extensionRegistry);
  18. }
  19. if (builder != null) {
  20. builder.setField(field, value);
  21. } else {
  22. extensions.setField(field, value);
  23. }
  24. }

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

  1. ProtoTextMatcher(Class<T> clazz, String expectedTextFormat) {
  2. T defaultInstance = getDefaultInstance(clazz);
  3. Message.Builder builder = defaultInstance.toBuilder();
  4. try {
  5. TextFormat.merge(expectedTextFormat, builder);
  6. } catch (TextFormat.ParseException e) {
  7. throw new IllegalArgumentException("Invalid text format for " + clazz.getName(), e);
  8. }
  9. @SuppressWarnings("unchecked") // T.builder().build() always returns T.
  10. T expectedInstance = (T) builder.build();
  11. expected = expectedInstance;
  12. }

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

  1. static FieldScope createFromSetFields(Iterable<? extends Message> messages) {
  2. if (emptyOrAllNull(messages)) {
  3. return create(
  4. FieldScopeLogic.none(),
  5. Functions.constant(String.format("FieldScopes.fromSetFields(%s)", messages.toString())));
  6. }
  7. Optional<Descriptor> optDescriptor = FieldScopeUtil.getSingleDescriptor(messages);
  8. checkArgument(
  9. optDescriptor.isPresent(),
  10. "Cannot create scope from messages with different descriptors: %s",
  11. getDescriptors(messages));
  12. Message.Builder builder = null;
  13. for (Message message : messages) {
  14. if (message == null) {
  15. continue;
  16. }
  17. if (builder != null) {
  18. builder.mergeFrom(message);
  19. } else {
  20. builder = message.toBuilder();
  21. }
  22. }
  23. Message aggregateMessage = builder.build();
  24. return create(
  25. FieldScopeLogic.partialScope(aggregateMessage),
  26. Functions.constant(String.format("FieldScopes.fromSetFields(%s)", formatList(messages))));
  27. }

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

  1. @SuppressWarnings("unchecked")
  2. @Override
  3. public Builder<K, V> setField(FieldDescriptor field, Object value) {
  4. checkFieldDescriptor(field);
  5. if (field.getNumber() == 1) {
  6. setKey((K) value);
  7. } else {
  8. if (field.getType() == FieldDescriptor.Type.ENUM) {
  9. value = ((EnumValueDescriptor) value).getNumber();
  10. } else if (field.getType() == FieldDescriptor.Type.MESSAGE) {
  11. if (value != null && !metadata.defaultValue.getClass().isInstance(value)) {
  12. // The value is not the exact right message type. However, if it
  13. // is an alternative implementation of the same type -- e.g. a
  14. // DynamicMessage -- we should accept it. In this case we can make
  15. // a copy of the message.
  16. value =
  17. ((Message) metadata.defaultValue).toBuilder().mergeFrom((Message) value).build();
  18. }
  19. }
  20. setValue((V) value);
  21. }
  22. return this;
  23. }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. private <T extends Message> Map<String, T> getSpecs(
  2. T prototype, String type, Iterable<String> ids) {
  3. Map<String, T> specs = new HashMap<>();
  4. for (String id : ids) {
  5. Message.Builder builder = prototype.toBuilder();
  6. mergeJsonProto(getSpecFile(type, id), builder);
  7. //noinspection unchecked
  8. specs.put(id, (T) builder.build());
  9. }
  10. return specs;
  11. }

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

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

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

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

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

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

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

  1. @Override
  2. public Object setStructFieldData(Object data, StructField field, Object fieldValue) {
  3. return ((Message) data)
  4. .toBuilder()
  5. .setField(descriptor.findFieldByName(field.getFieldName()), fieldValue)
  6. .build();
  7. }

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

  1. public UnitDataFilteredObservable(final DataProvider<M> dataProvider, final ServiceTempus serviceTempus, final UnitTemplate unitTemplate) {
  2. super(dataProvider);
  3. this.unit = dataProvider;
  4. this.serviceTempus = serviceTempus;
  5. this.setHashGenerator((M value) -> removeUnwantedServiceTempus(value.toBuilder()).build().hashCode());
  6. this.fieldsToKeep = new HashSet<>();
  7. this.unitTemplate = unitTemplate;
  8. if (unitTemplate != null) {
  9. updateFieldsToKeep();
  10. }
  11. }

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

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

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

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

相关文章