本文整理了Java中com.google.protobuf.Message.toBuilder()
方法的一些代码示例,展示了Message.toBuilder()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.toBuilder()
方法的具体详情如下:
包路径:com.google.protobuf.Message
类名称: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);
}
}
内容来源于网络,如有侵权,请联系作者删除!