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

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

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

Message.newBuilderForType介绍

暂无

代码示例

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

@Override
public com.google.protobuf.Message.Builder newBuilder() {
 return mapEntryMessageDefaultInstance.newBuilderForType();
}

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

@Override
public com.google.protobuf.Message.Builder newBuilder() {
 return mapEntryMessageDefaultInstance.newBuilderForType();
}

代码示例来源:origin: redisson/redisson

@SuppressWarnings("unchecked")
  @Override
  public IN apply(byte[] bytes) {
    try {
      Message msg = messages.get(type);
      if(null == msg) {
        msg = (Message)type.getMethod("getDefaultInstance").invoke(null);
        messages.put(type, msg);
      }
      IN obj = (IN)msg.newBuilderForType().mergeFrom(bytes).build();
      if(null != next) {
        next.accept(obj);
        return null;
      } else {
        return obj;
      }
    } catch(Exception e) {
      throw new IllegalStateException(e.getMessage(), e);
    }
  }
};

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

@Override
public BuilderType clone() {
 BuilderType builder =
   (BuilderType) getDefaultInstanceForType().newBuilderForType();
 builder.mergeFrom(buildPartial());
 return builder;
}

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

@Override
public BuilderType clone() {
 BuilderType builder =
   (BuilderType) getDefaultInstanceForType().newBuilderForType();
 builder.mergeFrom(buildPartial());
 return builder;
}

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

/**
 * Creates a new message of type "Type" which is a copy of "source".  "source"
 * must have the same descriptor but may be a different class (e.g.
 * DynamicMessage).
 */
@SuppressWarnings("unchecked")
private static <Type extends Message> Type copyAsType(
  final Type typeDefaultInstance, final Message source) {
 return (Type)typeDefaultInstance.newBuilderForType()
                 .mergeFrom(source)
                 .build();
}

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

/**
 * Creates a new message of type "Type" which is a copy of "source".  "source"
 * must have the same descriptor but may be a different class (e.g.
 * DynamicMessage).
 */
@SuppressWarnings("unchecked")
private static <Type extends Message> Type copyAsType(
  final Type typeDefaultInstance, final Message source) {
 return (Type) typeDefaultInstance
   .newBuilderForType().mergeFrom(source).build();
}

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

@Override
public MergeTarget newMergeTargetForField(
  Descriptors.FieldDescriptor field, Message defaultInstance) {
 if (defaultInstance != null) {
  return new BuilderAdapter(
    defaultInstance.newBuilderForType());
 } else {
  return new BuilderAdapter(builder.newBuilderForField(field));
 }
}

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

@Override
public Message.Builder newBuilderForField(FieldDescriptor field) {
 checkFieldDescriptor(field);;
 // This method should be called for message fields and in a MapEntry
 // message only the value field can possibly be a message field.
 if (field.getNumber() != 2
   || field.getJavaType() != FieldDescriptor.JavaType.MESSAGE) {
  throw new RuntimeException(
    "\"" + field.getFullName() + "\" is not a message value field.");
 }
 return ((Message) value).newBuilderForType();
}

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

/**
 * Parse a text-format message from {@code input}.
 *
 * @return the parsed message, guaranteed initialized
 */
public static <T extends Message> T parse(final CharSequence input,
                     final Class<T> protoClass)
                     throws ParseException {
 Message.Builder builder =
   Internal.getDefaultInstance(protoClass).newBuilderForType();
 merge(input, builder);
 @SuppressWarnings("unchecked")
 T output = (T) builder.build();
 return output;
}

代码示例来源:origin: apache/hbase

public static Message getRequest(Service service,
  Descriptors.MethodDescriptor methodDesc,
  org.apache.hbase.thirdparty.com.google.protobuf.ByteString shadedRequest)
throws IOException {
 Message.Builder builderForType =
   service.getRequestPrototype(methodDesc).newBuilderForType();
 org.apache.hadoop.hbase.protobuf.ProtobufUtil.mergeFrom(builderForType,
   // TODO: COPY FROM SHADED TO NON_SHADED. DO I HAVE TOO?
   shadedRequest.toByteArray());
 return builderForType.build();
}

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

/**
 * Parse a text-format message from {@code input}.  Extensions will be
 * recognized if they are registered in {@code extensionRegistry}.
 *
 * @return the parsed message, guaranteed initialized
 */
public static <T extends Message> T parse(
  final CharSequence input,
  final ExtensionRegistry extensionRegistry,
  final Class<T> protoClass)
  throws ParseException {
 Message.Builder builder =
   Internal.getDefaultInstance(protoClass).newBuilderForType();
 merge(input, extensionRegistry, builder);
 @SuppressWarnings("unchecked")
 T output = (T) builder.build();
 return output;
}

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

@Override
public Object parseMessage(
  CodedInputStream input,
  ExtensionRegistryLite registry,
  Descriptors.FieldDescriptor field,
  Message defaultInstance)
  throws IOException {
 Message.Builder subBuilder =
   defaultInstance.newBuilderForType();
 if (!field.isRepeated()) {
  Message originalMessage = (Message) getField(field);
  if (originalMessage != null) {
   subBuilder.mergeFrom(originalMessage);
  }
 }
 input.readMessage(subBuilder, registry);
 return subBuilder.buildPartial();
}

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

/**
 * Like {@link #fromReflectionType(Object)}, but if the type is a repeated
 * type, this converts a single element.
 */
@Override
protected Object singularFromReflectionType(final Object value) {
 FieldDescriptor descriptor = getDescriptor();
 switch (descriptor.getJavaType()) {
  case MESSAGE:
   if (singularType.isInstance(value)) {
    return value;
   } else {
    return messageDefaultInstance.newBuilderForType()
      .mergeFrom((Message) value).build();
   }
  case ENUM:
   return invokeOrDie(enumValueOf, null, (EnumValueDescriptor) value);
  default:
   return value;
 }
}

代码示例来源:origin: apache/hbase

public static Message getResponse(
  org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse
   result,
  com.google.protobuf.Message responsePrototype)
throws IOException {
 Message response;
 if (result.getValue().hasValue()) {
  Message.Builder builder = responsePrototype.newBuilderForType();
  builder.mergeFrom(result.getValue().getValue().newInput());
  response = builder.build();
 } else {
  response = responsePrototype.getDefaultInstanceForType();
 }
 if (LOG.isTraceEnabled()) {
  LOG.trace("Master Result is value=" + response);
 }
 return response;
}

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

@Override
public Object parseMessage(
  CodedInputStream input,
  ExtensionRegistryLite extensionRegistry,
  Descriptors.FieldDescriptor field,
  Message defaultInstance)
  throws IOException {
 Message.Builder subBuilder;
 // When default instance is not null. The field is an extension field.
 if (defaultInstance != null) {
  subBuilder = defaultInstance.newBuilderForType();
 } else {
  subBuilder = builder.newBuilderForField(field);
 }
 if (!field.isRepeated()) {
  Message originalMessage = (Message) getField(field);
  if (originalMessage != null) {
   subBuilder.mergeFrom(originalMessage);
  }
 }
 input.readMessage(subBuilder, extensionRegistry);
 return subBuilder.buildPartial();
}

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

@Override
public Object parseMessageFromBytes(
  ByteString bytes,
  ExtensionRegistryLite registry,
  Descriptors.FieldDescriptor field,
  Message defaultInstance)
  throws IOException {
 Message.Builder subBuilder =  defaultInstance.newBuilderForType();
 if (!field.isRepeated()) {
  Message originalMessage = (Message) getField(field);
  if (originalMessage != null) {
   subBuilder.mergeFrom(originalMessage);
  }
 }
 subBuilder.mergeFrom(bytes, registry);
 return subBuilder.buildPartial();
}

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

@Override
public Object parseGroup(
  CodedInputStream input,
  ExtensionRegistryLite registry,
  Descriptors.FieldDescriptor field,
  Message defaultInstance)
  throws IOException {
 Message.Builder subBuilder =
   defaultInstance.newBuilderForType();
 if (!field.isRepeated()) {
  Message originalMessage = (Message) getField(field);
  if (originalMessage != null) {
   subBuilder.mergeFrom(originalMessage);
  }
 }
 input.readGroup(field.getNumber(), subBuilder, registry);
 return subBuilder.buildPartial();
}

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

@Override
public Object parseMessageFromBytes(
  ByteString bytes,
  ExtensionRegistryLite extensionRegistry,
  Descriptors.FieldDescriptor field,
  Message defaultInstance)
  throws IOException {
 Message.Builder subBuilder;
 // When default instance is not null. The field is an extension field.
 if (defaultInstance != null) {
  subBuilder = defaultInstance.newBuilderForType();
 } else {
  subBuilder = builder.newBuilderForField(field);
 }
 if (!field.isRepeated()) {
  Message originalMessage = (Message) getField(field);
  if (originalMessage != null) {
   subBuilder.mergeFrom(originalMessage);
  }
 }
 subBuilder.mergeFrom(bytes, extensionRegistry);
 return subBuilder.buildPartial();
}

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

@Override
public Object parseGroup(
  CodedInputStream input,
  ExtensionRegistryLite extensionRegistry,
  Descriptors.FieldDescriptor field,
  Message defaultInstance)
  throws IOException {
 Message.Builder subBuilder;
 // When default instance is not null. The field is an extension field.
 if (defaultInstance != null) {
  subBuilder = defaultInstance.newBuilderForType();
 } else {
  subBuilder = builder.newBuilderForField(field);
 }
 if (!field.isRepeated()) {
  Message originalMessage = (Message) getField(field);
  if (originalMessage != null) {
   subBuilder.mergeFrom(originalMessage);
  }
 }
 input.readGroup(field.getNumber(), subBuilder, extensionRegistry);
 return subBuilder.buildPartial();
}

相关文章