Class Any

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
com.google.protobuf.Any
All Implemented Interfaces:
AnyOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

public final class Any extends com.google.protobuf.GeneratedMessageV3 implements AnyOrBuilder
 `Any` contains an arbitrary serialized protocol buffer message along with a
 URL that describes the type of the serialized message.
 Protobuf library provides support to pack/unpack Any values in the form
 of utility functions or additional generated methods of the Any type.
 Example 1: Pack and unpack a message in C++.
     Foo foo = ...;
     Any any;
     any.PackFrom(foo);
     ...
     if (any.UnpackTo(&foo)) {
       ...
     }
 Example 2: Pack and unpack a message in Java.
     Foo foo = ...;
     Any any = Any.pack(foo);
     ...
     if (any.is(Foo.class)) {
       foo = any.unpack(Foo.class);
     }
  Example 3: Pack and unpack a message in Python.
     foo = Foo(...)
     any = Any()
     any.Pack(foo)
     ...
     if any.Is(Foo.DESCRIPTOR):
       any.Unpack(foo)
       ...
  Example 4: Pack and unpack a message in Go
      foo := &pb.Foo{...}
      any, err := anypb.New(foo)
      if err != nil {
        ...
      }
      ...
      foo := &pb.Foo{}
      if err := any.UnmarshalTo(foo); err != nil {
        ...
      }
 The pack methods provided by protobuf library will by default use
 'type.googleapis.com/full.type.name' as the type URL and the unpack
 methods only use the fully qualified type name after the last '/'
 in the type URL, for example "foo.bar.com/x/y.z" will yield type
 name "y.z".
 JSON
 ====
 The JSON representation of an `Any` value uses the regular
 representation of the deserialized, embedded message, with an
 additional field `@type` which contains the type URL. Example:
     package google.profile;
     message Person {
       string first_name = 1;
       string last_name = 2;
     }
     {
       "@type": "type.googleapis.com/google.profile.Person",
       "firstName": <string>,
       "lastName": <string>
     }
 If the embedded message type is well-known and has a custom JSON
 representation, that representation will be embedded adding a field
 `value` which holds the custom JSON in addition to the `@type`
 field. Example (for message [google.protobuf.Duration][]):
     {
       "@type": "type.googleapis.com/google.protobuf.Duration",
       "value": "1.212s"
     }
 
Protobuf type google.protobuf.Any
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

    Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

    com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

    com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     

    Fields inherited from class com.google.protobuf.GeneratedMessageV3

    alwaysUseFieldBuilders, unknownFields

    Fields inherited from class com.google.protobuf.AbstractMessage

    memoizedSize

    Fields inherited from class com.google.protobuf.AbstractMessageLite

    memoizedHashCode
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    static Any
     
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Parser<Any>
     
    int
     
    A URL/resource name that uniquely identifies the type of the serialized protocol buffer message.
    com.google.protobuf.ByteString
    A URL/resource name that uniquely identifies the type of the serialized protocol buffer message.
    final com.google.protobuf.UnknownFieldSet
     
    com.google.protobuf.ByteString
    Must be a valid serialized protocol buffer of the above specified type.
    int
     
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
     
    <T extends com.google.protobuf.Message>
    boolean
    is(Class<T> clazz)
     
    final boolean
     
     
    newBuilder(Any prototype)
     
     
    protected Any.Builder
    newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
     
    protected Object
    newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
     
    static <T extends com.google.protobuf.Message>
    Any
    pack(T message)
     
    static <T extends com.google.protobuf.Message>
    Any
    pack(T message, String typeUrlPrefix)
    Packs a message using the given type URL prefix.
    static Any
     
    static Any
    parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Any
    parseFrom(byte[] data)
     
    static Any
    parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Any
    parseFrom(com.google.protobuf.ByteString data)
     
    static Any
    parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Any
    parseFrom(com.google.protobuf.CodedInputStream input)
     
    static Any
    parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Any
     
    static Any
    parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Any
     
    static Any
    parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static com.google.protobuf.Parser<Any>
     
     
    <T extends com.google.protobuf.Message>
    T
    unpack(Class<T> clazz)
     
    void
    writeTo(com.google.protobuf.CodedOutputStream output)
     

    Methods inherited from class com.google.protobuf.GeneratedMessageV3

    canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag

    Methods inherited from class com.google.protobuf.AbstractMessage

    findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite

    addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.MessageLite

    toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof
  • Field Details

  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • getUnknownFields

      public final com.google.protobuf.UnknownFieldSet getUnknownFields()
      Specified by:
      getUnknownFields in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getUnknownFields in class com.google.protobuf.GeneratedMessageV3
    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
    • pack

      public static <T extends com.google.protobuf.Message> Any pack(T message)
    • pack

      public static <T extends com.google.protobuf.Message> Any pack(T message, String typeUrlPrefix)
      Packs a message using the given type URL prefix. The type URL will be constructed by concatenating the message type's full name to the prefix with an optional "/" separator if the prefix doesn't end with "/" already.
    • is

      public <T extends com.google.protobuf.Message> boolean is(Class<T> clazz)
    • unpack

      public <T extends com.google.protobuf.Message> T unpack(Class<T> clazz) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • getTypeUrl

      public String getTypeUrl()
       A URL/resource name that uniquely identifies the type of the serialized
       protocol buffer message. This string must contain at least
       one "/" character. The last segment of the URL's path must represent
       the fully qualified name of the type (as in
       `path/google.protobuf.Duration`). The name should be in a canonical form
       (e.g., leading "." is not accepted).
       In practice, teams usually precompile into the binary all types that they
       expect it to use in the context of Any. However, for URLs which use the
       scheme `http`, `https`, or no scheme, one can optionally set up a type
       server that maps type URLs to message definitions as follows:
       * If no scheme is provided, `https` is assumed.
       * An HTTP GET on the URL must yield a [google.protobuf.Type][]
         value in binary format, or produce an error.
       * Applications are allowed to cache lookup results based on the
         URL, or have them precompiled into a binary to avoid any
         lookup. Therefore, binary compatibility needs to be preserved
         on changes to types. (Use versioned type names to manage
         breaking changes.)
       Note: this functionality is not currently available in the official
       protobuf release, and it is not used for type URLs beginning with
       type.googleapis.com.
       Schemes other than `http`, `https` (or the empty scheme) might be
       used with implementation specific semantics.
       
      string type_url = 1;
      Specified by:
      getTypeUrl in interface AnyOrBuilder
      Returns:
      The typeUrl.
    • getTypeUrlBytes

      public com.google.protobuf.ByteString getTypeUrlBytes()
       A URL/resource name that uniquely identifies the type of the serialized
       protocol buffer message. This string must contain at least
       one "/" character. The last segment of the URL's path must represent
       the fully qualified name of the type (as in
       `path/google.protobuf.Duration`). The name should be in a canonical form
       (e.g., leading "." is not accepted).
       In practice, teams usually precompile into the binary all types that they
       expect it to use in the context of Any. However, for URLs which use the
       scheme `http`, `https`, or no scheme, one can optionally set up a type
       server that maps type URLs to message definitions as follows:
       * If no scheme is provided, `https` is assumed.
       * An HTTP GET on the URL must yield a [google.protobuf.Type][]
         value in binary format, or produce an error.
       * Applications are allowed to cache lookup results based on the
         URL, or have them precompiled into a binary to avoid any
         lookup. Therefore, binary compatibility needs to be preserved
         on changes to types. (Use versioned type names to manage
         breaking changes.)
       Note: this functionality is not currently available in the official
       protobuf release, and it is not used for type URLs beginning with
       type.googleapis.com.
       Schemes other than `http`, `https` (or the empty scheme) might be
       used with implementation specific semantics.
       
      string type_url = 1;
      Specified by:
      getTypeUrlBytes in interface AnyOrBuilder
      Returns:
      The bytes for typeUrl.
    • getValue

      public com.google.protobuf.ByteString getValue()
       Must be a valid serialized protocol buffer of the above specified type.
       
      bytes value = 2;
      Specified by:
      getValue in interface AnyOrBuilder
      Returns:
      The value.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static Any parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Any parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Any parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Any parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Any parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Any parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Any parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Any parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Any parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Any parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Any parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Any parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public Any.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static Any.Builder newBuilder()
    • newBuilder

      public static Any.Builder newBuilder(Any prototype)
    • toBuilder

      public Any.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected Any.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static Any getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Any> parser()
    • getParserForType

      public com.google.protobuf.Parser<Any> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public Any getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder