public final class Any extends GeneratedMessage implements AnyOrBuilder
google.protobuf.Any
`Any` contains an arbitrary serialized message along with a URL
that describes the type of the serialized message.
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 the `@type`
field. Example (for message [google.protobuf.Duration][google.protobuf.Duration]):
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
| Modifier and Type | Class and Description |
|---|---|
static class |
Any.Builder
Protobuf type
google.protobuf.Any |
GeneratedMessage.ExtendableBuilder<MessageType extends GeneratedMessage.ExtendableMessage,BuilderType extends GeneratedMessage.ExtendableBuilder>, GeneratedMessage.ExtendableMessage<MessageType extends GeneratedMessage.ExtendableMessage>, GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage>, GeneratedMessage.FieldAccessorTable, GeneratedMessage.GeneratedExtension<ContainingType extends Message,Type>| Modifier and Type | Field and Description |
|---|---|
static int |
TYPE_URL_FIELD_NUMBER |
static int |
VALUE_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj)
Compares the specified object with this message for equality.
|
static Any |
getDefaultInstance() |
Any |
getDefaultInstanceForType()
Get an instance of the type with no fields set.
|
static Descriptors.Descriptor |
getDescriptor() |
Parser<Any> |
getParserForType()
Gets the parser for a message of the same type as this message.
|
int |
getSerializedSize()
Get the number of bytes required to encode this message.
|
java.lang.String |
getTypeUrl()
optional string type_url = 1; |
ByteString |
getTypeUrlBytes()
optional string type_url = 1; |
UnknownFieldSet |
getUnknownFields()
Get the
UnknownFieldSet for this message. |
ByteString |
getValue()
optional bytes value = 2; |
int |
hashCode()
Returns the hash code value for this message.
|
<T extends Message> |
is(java.lang.Class<T> clazz) |
boolean |
isInitialized()
Returns true if all required fields in the message and all embedded
messages are set, false otherwise.
|
static Any.Builder |
newBuilder() |
static Any.Builder |
newBuilder(Any prototype) |
Any.Builder |
newBuilderForType()
Constructs a new builder for a message of the same type as this message.
|
static <T extends Message> |
pack(T message) |
static Any |
parseDelimitedFrom(java.io.InputStream input) |
static Any |
parseDelimitedFrom(java.io.InputStream input,
ExtensionRegistryLite extensionRegistry) |
static Any |
parseFrom(byte[] data) |
static Any |
parseFrom(byte[] data,
ExtensionRegistryLite extensionRegistry) |
static Any |
parseFrom(ByteString data) |
static Any |
parseFrom(ByteString data,
ExtensionRegistryLite extensionRegistry) |
static Any |
parseFrom(CodedInputStream input) |
static Any |
parseFrom(CodedInputStream input,
ExtensionRegistryLite extensionRegistry) |
static Any |
parseFrom(java.io.InputStream input) |
static Any |
parseFrom(java.io.InputStream input,
ExtensionRegistryLite extensionRegistry) |
static Parser<Any> |
parser() |
Any.Builder |
toBuilder()
Constructs a builder initialized with the current message.
|
<T extends Message> |
unpack(java.lang.Class<T> clazz) |
void |
writeTo(CodedOutputStream output)
Serializes the message and writes it to
output. |
getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, newFileScopedGeneratedExtension, newFileScopedGeneratedExtension, newMessageScopedGeneratedExtension, newMessageScopedGeneratedExtensionfindInitializationErrors, getInitializationErrorString, toStringtoByteArray, toByteString, writeDelimitedTo, writeTofindInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneoftoByteArray, toByteString, writeDelimitedTo, writeTopublic static final int TYPE_URL_FIELD_NUMBER
public static final int VALUE_FIELD_NUMBER
public final UnknownFieldSet getUnknownFields()
MessageOrBuilderUnknownFieldSet for this message.getUnknownFields in interface MessageOrBuildergetUnknownFields in class GeneratedMessagepublic static final Descriptors.Descriptor getDescriptor()
public <T extends Message> boolean is(java.lang.Class<T> clazz)
public <T extends Message> T unpack(java.lang.Class<T> clazz) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic java.lang.String getTypeUrl()
optional string type_url = 1;
A URL/resource name whose content describes the type of the serialized message. For URLs which use the schema `http`, `https`, or no schema, the following restrictions and interpretations apply: * If no schema is provided, `https` is assumed. * The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). * An HTTP GET on the URL must yield a [google.protobuf.Type][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.) Schemas other than `http`, `https` (or the empty schema) might be used with implementation specific semantics.
getTypeUrl in interface AnyOrBuilderpublic ByteString getTypeUrlBytes()
optional string type_url = 1;
A URL/resource name whose content describes the type of the serialized message. For URLs which use the schema `http`, `https`, or no schema, the following restrictions and interpretations apply: * If no schema is provided, `https` is assumed. * The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). * An HTTP GET on the URL must yield a [google.protobuf.Type][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.) Schemas other than `http`, `https` (or the empty schema) might be used with implementation specific semantics.
getTypeUrlBytes in interface AnyOrBuilderpublic ByteString getValue()
optional bytes value = 2;
Must be valid serialized data of the above specified type.
getValue in interface AnyOrBuilderpublic final boolean isInitialized()
MessageLiteOrBuilderisInitialized in interface MessageLiteOrBuilderisInitialized in class GeneratedMessagepublic void writeTo(CodedOutputStream output) throws java.io.IOException
MessageLiteoutput. This does not
flush or close the stream.writeTo in interface MessageLitewriteTo in class GeneratedMessagejava.io.IOExceptionpublic int getSerializedSize()
MessageLitegetSerializedSize in interface MessageLitegetSerializedSize in class GeneratedMessagepublic boolean equals(java.lang.Object obj)
Messagetrue if the given object is a message of the same type (as
defined by getDescriptorForType()) and has identical values for
all of its fields. Subclasses must implement this; inheriting
Object.equals() is incorrect.equals in interface Messageequals in class AbstractMessageobj - object to be compared for equality with this messagetrue if the specified object is equal to this messagepublic int hashCode()
MessageObject.hashCode() is incorrect.hashCode in interface MessagehashCode in class AbstractMessageMap.hashCode()public static Any parseFrom(ByteString data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Any parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Any parseFrom(byte[] data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Any parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Any parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Any parseFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static Any parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Any parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static Any parseFrom(CodedInputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Any parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic Any.Builder newBuilderForType()
MessageLitenewBuilderForType in interface MessagenewBuilderForType in interface MessageLitepublic static Any.Builder newBuilder()
public static Any.Builder newBuilder(Any prototype)
public Any.Builder toBuilder()
MessageLitetoBuilder in interface MessagetoBuilder in interface MessageLitepublic static Any getDefaultInstance()
public Parser<Any> getParserForType()
MessageLitegetParserForType in interface MessagegetParserForType in interface MessageLitegetParserForType in class GeneratedMessagepublic Any getDefaultInstanceForType()
MessageLiteOrBuildergetDefaultInstance() method of generated message classes in that
this method is an abstract method of the MessageLite interface
whereas getDefaultInstance() is a static method of a specific
class. They return the same thing.getDefaultInstanceForType in interface MessageLiteOrBuildergetDefaultInstanceForType in interface MessageOrBuilder