类 Any.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<Any.Builder>
com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
com.google.protobuf.Any.Builder
所有已实现的接口:
AnyOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
封闭类:
Any

public static final class Any.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder> 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 := ptypes.MarshalAny(foo)
      ...
      foo := &pb.Foo{}
      if err := ptypes.UnmarshalAny(any, 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
  • 方法概要

    修饰符和类型
    方法
    说明
    addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
     
     
     
     
    clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
     
    clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
     
    A URL/resource name that uniquely identifies the type of the serialized protocol buffer message.
    Must be a valid serialized protocol buffer of the above specified type.
     
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Descriptors.Descriptor
     
    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.
    com.google.protobuf.ByteString
    Must be a valid serialized protocol buffer of the above specified type.
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
     
    final boolean
     
    mergeFrom(Any other)
     
    mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    mergeFrom(com.google.protobuf.Message other)
     
    mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
     
    setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
     
    setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
     
    A URL/resource name that uniquely identifies the type of the serialized protocol buffer message.
    setTypeUrlBytes(com.google.protobuf.ByteString value)
    A URL/resource name that uniquely identifies the type of the serialized protocol buffer message.
    setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
     
    setValue(com.google.protobuf.ByteString value)
    Must be a valid serialized protocol buffer of the above specified type.

    从类继承的方法 com.google.protobuf.GeneratedMessageV3.Builder

    getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3

    从类继承的方法 com.google.protobuf.AbstractMessage.Builder

    findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString

    从类继承的方法 com.google.protobuf.AbstractMessageLite.Builder

    addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException

    从类继承的方法 java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    从接口继承的方法 com.google.protobuf.Message.Builder

    mergeDelimitedFrom, mergeDelimitedFrom

    从接口继承的方法 com.google.protobuf.MessageLite.Builder

    mergeFrom

    从接口继承的方法 com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • 方法详细资料

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      指定者:
      internalGetFieldAccessorTable 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • clear

      public Any.Builder clear()
      指定者:
      clear 在接口中 com.google.protobuf.Message.Builder
      指定者:
      clear 在接口中 com.google.protobuf.MessageLite.Builder
      覆盖:
      clear 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      指定者:
      getDescriptorForType 在接口中 com.google.protobuf.Message.Builder
      指定者:
      getDescriptorForType 在接口中 com.google.protobuf.MessageOrBuilder
      覆盖:
      getDescriptorForType 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • getDefaultInstanceForType

      public Any getDefaultInstanceForType()
      指定者:
      getDefaultInstanceForType 在接口中 com.google.protobuf.MessageLiteOrBuilder
      指定者:
      getDefaultInstanceForType 在接口中 com.google.protobuf.MessageOrBuilder
    • build

      public Any build()
      指定者:
      build 在接口中 com.google.protobuf.Message.Builder
      指定者:
      build 在接口中 com.google.protobuf.MessageLite.Builder
    • buildPartial

      public Any buildPartial()
      指定者:
      buildPartial 在接口中 com.google.protobuf.Message.Builder
      指定者:
      buildPartial 在接口中 com.google.protobuf.MessageLite.Builder
    • clone

      public Any.Builder clone()
      指定者:
      clone 在接口中 com.google.protobuf.Message.Builder
      指定者:
      clone 在接口中 com.google.protobuf.MessageLite.Builder
      覆盖:
      clone 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • setField

      public Any.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      指定者:
      setField 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      setField 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • clearField

      public Any.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      指定者:
      clearField 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      clearField 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • clearOneof

      public Any.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      指定者:
      clearOneof 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      clearOneof 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • setRepeatedField

      public Any.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      指定者:
      setRepeatedField 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      setRepeatedField 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • addRepeatedField

      public Any.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      指定者:
      addRepeatedField 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      addRepeatedField 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • mergeFrom

      public Any.Builder mergeFrom(com.google.protobuf.Message other)
      指定者:
      mergeFrom 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      mergeFrom 在类中 com.google.protobuf.AbstractMessage.Builder<Any.Builder>
    • mergeFrom

      public Any.Builder mergeFrom(Any other)
    • isInitialized

      public final boolean isInitialized()
      指定者:
      isInitialized 在接口中 com.google.protobuf.MessageLiteOrBuilder
      覆盖:
      isInitialized 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • mergeFrom

      public Any.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      指定者:
      mergeFrom 在接口中 com.google.protobuf.Message.Builder
      指定者:
      mergeFrom 在接口中 com.google.protobuf.MessageLite.Builder
      覆盖:
      mergeFrom 在类中 com.google.protobuf.AbstractMessage.Builder<Any.Builder>
      抛出:
      IOException
    • 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;
      指定者:
      getTypeUrl 在接口中 AnyOrBuilder
      返回:
      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;
      指定者:
      getTypeUrlBytes 在接口中 AnyOrBuilder
      返回:
      The bytes for typeUrl.
    • setTypeUrl

      public Any.Builder setTypeUrl(String value)
       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;
      参数:
      value - The typeUrl to set.
      返回:
      This builder for chaining.
    • clearTypeUrl

      public Any.Builder clearTypeUrl()
       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;
      返回:
      This builder for chaining.
    • setTypeUrlBytes

      public Any.Builder setTypeUrlBytes(com.google.protobuf.ByteString value)
       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;
      参数:
      value - The bytes for typeUrl to set.
      返回:
      This builder for chaining.
    • getValue

      public com.google.protobuf.ByteString getValue()
       Must be a valid serialized protocol buffer of the above specified type.
       
      bytes value = 2;
      指定者:
      getValue 在接口中 AnyOrBuilder
      返回:
      The value.
    • setValue

      public Any.Builder setValue(com.google.protobuf.ByteString value)
       Must be a valid serialized protocol buffer of the above specified type.
       
      bytes value = 2;
      参数:
      value - The value to set.
      返回:
      This builder for chaining.
    • clearValue

      public Any.Builder clearValue()
       Must be a valid serialized protocol buffer of the above specified type.
       
      bytes value = 2;
      返回:
      This builder for chaining.
    • setUnknownFields

      public final Any.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      指定者:
      setUnknownFields 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      setUnknownFields 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>
    • mergeUnknownFields

      public final Any.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      指定者:
      mergeUnknownFields 在接口中 com.google.protobuf.Message.Builder
      覆盖:
      mergeUnknownFields 在类中 com.google.protobuf.GeneratedMessageV3.Builder<Any.Builder>