public abstract class AbstractMessageLite<MessageType extends AbstractMessageLite<MessageType,BuilderType>,BuilderType extends AbstractMessageLite.Builder<MessageType,BuilderType>> extends java.lang.Object implements MessageLite
MessageLite
interface which implements as many methods of
that interface as possible in terms of other methods.Modifier and Type | Class and Description |
---|---|
static class |
AbstractMessageLite.Builder<MessageType extends AbstractMessageLite<MessageType,BuilderType>,BuilderType extends AbstractMessageLite.Builder<MessageType,BuilderType>>
A partial implementation of the
Message.Builder interface which implements as many
methods of that interface as possible in terms of other methods. |
Constructor and Description |
---|
AbstractMessageLite() |
Modifier and Type | Method and Description |
---|---|
byte[] |
toByteArray()
Serializes the message to a
byte array and returns it. |
ByteString |
toByteString()
Serializes the message to a
ByteString and returns it. |
void |
writeDelimitedTo(java.io.OutputStream output)
Like
MessageLite.writeTo(OutputStream) , but writes the size of the message as a varint before
writing the data. |
void |
writeTo(java.io.OutputStream output)
Serializes the message and writes it to
output . |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParserForType, getSerializedSize, newBuilderForType, toBuilder, writeTo
getDefaultInstanceForType, isInitialized
public ByteString toByteString()
MessageLite
ByteString
and returns it. This is just a trivial wrapper
around MessageLite.writeTo(CodedOutputStream)
.toByteString
in interface MessageLite
public byte[] toByteArray()
MessageLite
byte
array and returns it. This is just a trivial wrapper
around MessageLite.writeTo(CodedOutputStream)
.toByteArray
in interface MessageLite
public void writeTo(java.io.OutputStream output) throws java.io.IOException
MessageLite
output
. This is just a trivial wrapper around
MessageLite.writeTo(CodedOutputStream)
. This does not flush or close the stream.
NOTE: Protocol Buffers are not self-delimiting. Therefore, if you write any more data to the
stream after the message, you must somehow ensure that the parser on the receiving end does not
interpret this as being part of the protocol message. This can be done e.g. by writing the size
of the message before the data, then making sure to limit the input to that size on the
receiving end (e.g. by wrapping the InputStream in one which limits the input). Alternatively,
just use MessageLite.writeDelimitedTo(OutputStream)
.
writeTo
in interface MessageLite
java.io.IOException
public void writeDelimitedTo(java.io.OutputStream output) throws java.io.IOException
MessageLite
MessageLite.writeTo(OutputStream)
, but writes the size of the message as a varint before
writing the data. This allows more data to be written to the stream after the message without
the need to delimit the message data yourself. Use MessageLite.Builder.mergeDelimitedFrom(InputStream)
(or the static method YourMessageType.parseDelimitedFrom(InputStream)
) to parse messages written by this method.writeDelimitedTo
in interface MessageLite
java.io.IOException