public final class WrappedMessage extends Object
1. The Protocol Buffers encoding format does not contain any description of the message type that follows next in the
data stream, unlike for example the Java serialization format which provides information about classes that are saved
in a Serialization stream in the form of class descriptors which contain the fully qualified name of the class being
serialized. The Protocol Buffers client is expected to know what message type he is expecting to read from the
stream. This knowledge exists in most cases, statically, so this encoding scheme saves a lot of space by not
including redundant type descriptors in the stream by default. For all other use cases where data types are dynamic
you are on your own, but WrappedMessage
is here to help you.
2. The Protocol Buffer wire format is also not self-delimiting, so when reading a message we see just a stream of
fields and we are not able to determine when the fields of the current message end and the next message starts. The
protocol assumes that the whole contents of the stream is to be interpreted as a single message. If that's not the
case, then the user must provide his own way of delimiting messages either by using message start/stop markers or by
prefixing each message with its size or any other equivalent mechanism. WrappedMessage
relies on an int32
size prefix.
So wherever you cannot statically decide what message type you'll be using and need to defer this until runtime, just
use WrappedMessage
.
Modifier and Type | Field and Description |
---|---|
static String |
PROTO_FILE
Full path of the message-wrapping.proto resource file in classpath.
|
static int |
PROTOBUF_TYPE_ID
The type id of WrappedMessage.
|
static String |
PROTOBUF_TYPE_NAME
The fully qualified Protobuf type name of this message.
|
static int |
WRAPPED_BOOL
A wrapped bool.
|
static int |
WRAPPED_BYTE
A wrapped byte (marshalled as int32).
|
static int |
WRAPPED_BYTES
A wrapped bytes.
|
static int |
WRAPPED_CHAR
A wrapped char (marshalled as int32).
|
static int |
WRAPPED_DATE_MILLIS
A wrapped java.util.Date (marshalled as int64).
|
static int |
WRAPPED_DESCRIPTOR_FULL_NAME
The name of the fully qualified message or enum descriptor, if the wrapped object is a message or enum.
|
static int |
WRAPPED_DESCRIPTOR_ID
Deprecated.
Use
WRAPPED_DESCRIPTOR_TYPE_ID instead. |
static int |
WRAPPED_DESCRIPTOR_TYPE_ID
The (optional) numeric type id of the wrapped message or enum.
|
static int |
WRAPPED_DOUBLE
A wrapped double.
|
static int |
WRAPPED_ENUM
The enum value.
|
static int |
WRAPPED_FIXED32
A wrapped fixed32.
|
static int |
WRAPPED_FIXED64
A wrapped fixed64.
|
static int |
WRAPPED_FLOAT
A wrapped float.
|
static int |
WRAPPED_INSTANT_NANOS
The nanoseconds of the java.time.Instant.
|
static int |
WRAPPED_INSTANT_SECONDS
A wrapped java.time.Instant (marshalled as int64 (seconds) and an int32 (nanos)).
|
static int |
WRAPPED_INT32
A wrapped int32.
|
static int |
WRAPPED_INT64
A wrapped int64.
|
static int |
WRAPPED_MESSAGE
A byte array containing the encoded message.
|
static int |
WRAPPED_SFIXED32
A wrapped sfixed32.
|
static int |
WRAPPED_SFIXED64
A wrapped sfixed64.
|
static int |
WRAPPED_SHORT
A wrapped short (marshalled as int32).
|
static int |
WRAPPED_SINT32
A wrapped sint32.
|
static int |
WRAPPED_SINT64
A wrapped sint64.
|
static int |
WRAPPED_STRING
A wrapped string.
|
static int |
WRAPPED_UINT32
A wrapped uint32.
|
static int |
WRAPPED_UINT64
A wrapped uint64.
|
Constructor and Description |
---|
WrappedMessage(Object value) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
Object |
getValue()
Returns the wrapped value, which is either a primitive, an enum, or a message.
|
int |
hashCode() |
String |
toString() |
public static final String PROTOBUF_TYPE_NAME
public static final int PROTOBUF_TYPE_ID
public static final String PROTO_FILE
public static final int WRAPPED_DOUBLE
public static final int WRAPPED_FLOAT
public static final int WRAPPED_INT64
public static final int WRAPPED_UINT64
public static final int WRAPPED_INT32
public static final int WRAPPED_FIXED64
public static final int WRAPPED_FIXED32
public static final int WRAPPED_BOOL
public static final int WRAPPED_STRING
public static final int WRAPPED_CHAR
public static final int WRAPPED_SHORT
public static final int WRAPPED_BYTE
public static final int WRAPPED_DATE_MILLIS
public static final int WRAPPED_INSTANT_SECONDS
public static final int WRAPPED_INSTANT_NANOS
public static final int WRAPPED_BYTES
public static final int WRAPPED_UINT32
public static final int WRAPPED_SFIXED32
public static final int WRAPPED_SFIXED64
public static final int WRAPPED_SINT32
public static final int WRAPPED_SINT64
public static final int WRAPPED_DESCRIPTOR_FULL_NAME
public static final int WRAPPED_MESSAGE
public static final int WRAPPED_ENUM
public static final int WRAPPED_DESCRIPTOR_TYPE_ID
WRAPPED_DESCRIPTOR_FULL_NAME
.@Deprecated public static final int WRAPPED_DESCRIPTOR_ID
WRAPPED_DESCRIPTOR_TYPE_ID
instead.public WrappedMessage(Object value)
public Object getValue()
null
also.Copyright © 2019 JBoss, a division of Red Hat. All rights reserved.