com.google.protobuf.Any#getTypeUrl ( )源码实例Demo

下面列出了com.google.protobuf.Any#getTypeUrl ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: curiostack   文件: WellKnownTypeMarshaller.java
@Override
public void writeValue(Any message, JsonGenerator gen) throws IOException {
  if (message.equals(Any.getDefaultInstance())) {
    // Note: empty Any is not indented the same way as an empty message, this is likely an
    // upstream bug.
    gen.writeRaw(": {}");
    return;
  }
  gen.writeStartObject();
  String typeUrl = message.getTypeUrl();
  TypeSpecificMarshaller<?> serializer = marshallerRegistry.findByTypeUrl(typeUrl);
  gen.writeFieldName("@type");
  gen.writeString(typeUrl);
  if (serializer instanceof WellKnownTypeMarshaller) {
    gen.writeFieldName("value");
    serializer.writeValue(message.getValue(), gen);
  } else {
    serializer.doWrite(message.getValue(), gen);
  }
  gen.writeEndObject();
}
 
源代码2 项目: android-test   文件: AnyToTypeConverter.java
@SuppressWarnings("TypeParameterUnusedInFormals") // addressed in anyToProto(Any, Class,// Parser)
private <T extends MessageLite> T anyToProto(Any any) {
  RemoteDescriptor remoteDescriptor =
      remoteDescriptorRegistry.argForRemoteTypeUrl(any.getTypeUrl());

  try {
    @SuppressWarnings("unchecked") // safe covariant cast
    Class<T> messageType = (Class<T>) remoteDescriptor.getProtoType();
    return anyToProto(any, messageType, remoteDescriptor.getProtoParser());
  } catch (ClassCastException cce) {
    throw new RemoteProtocolException("Message cannot be casted to type T", cce);
  } catch (InvalidProtocolBufferException ipbe) {
    throw new RemoteProtocolException(
        "Invalid Protocol buffer for any type url: " + any.getTypeUrl(), ipbe);
  }
}
 
@Override
public Payload serialize(@Nonnull Object what) {
  final Any any = requireAny(what);
  final String className = any.getTypeUrl();
  final ByteString payloadBytes = any.getValue();
  return Payload.newBuilder().setClassName(className).setPayloadBytes(payloadBytes).build();
}
 
@Override
public Payload serialize(@Nonnull Object what) {
  final Any any = requireAny(what);
  final String className = any.getTypeUrl();
  final ByteString payloadBytes = any.getValue();
  return Payload.newBuilder().setClassName(className).setPayloadBytes(payloadBytes).build();
}
 
源代码5 项目: grpc-java   文件: SdsClient.java
private void processSecretsFromDiscoveryResponse(DiscoveryResponse response)
    throws InvalidProtocolBufferException {
  List<Any> resources = response.getResourcesList();
  checkState(resources.size() == 1, "exactly one resource expected");
  Any any = resources.get(0);
  final String typeUrl = any.getTypeUrl();
  checkState(SECRET_TYPE_URL.equals(typeUrl), "wrong value for typeUrl %s", typeUrl);
  Secret secret = Secret.parseFrom(any.getValue());
  processSecret(secret);
}