MessageType
- the type of the message.BuilderType
- the type of the builder.public abstract class AbstractMessageLite<MessageType extends AbstractMessageLite<MessageType,BuilderType>,BuilderType extends AbstractMessageLite.Builder<MessageType,BuilderType>> extends 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
MessageLite.Builder interface which implements as many methods of that
interface as possible in terms of other methods. |
Modifier and Type | Field and Description |
---|---|
protected int |
memoizedHashCode
Hashcode.
|
Constructor and Description |
---|
AbstractMessageLite() |
Modifier and Type | Method and Description |
---|---|
protected static <T> void |
addAll(Iterable<T> values,
Collection<? super T> list)
Adds all values to the given list.
|
protected static void |
checkByteStringIsUtf8(ByteString byteString)
Checks wheter a ByteString is encoded in Utf-8.
|
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(OutputStream output)
Like
MessageLite.writeTo(OutputStream) , but writes the size of the message as a varint before writing the data. |
void |
writeTo(OutputStream output)
Serializes the message and writes it to
output . |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParserForType, getSerializedSize, newBuilderForType, toBuilder, writeTo
getDefaultInstanceForType, isInitialized
protected static <T> void addAll(Iterable<T> values, Collection<? super T> list)
values
- the values to add.list
- the list in which the values will be added.protected static void checkByteStringIsUtf8(ByteString byteString) throws IllegalArgumentException
byteString
- the ByteString to test.IllegalArgumentException
- when the ByteString is not encoded in Utf-8.public byte[] toByteArray()
MessageLite
byte
array and returns it. This is just a trivial wrapper around
MessageLite.writeTo(CodedOutputStream)
.toByteArray
in interface MessageLite
public ByteString toByteString()
MessageLite
ByteString
and returns it. This is just a trivial wrapper around
MessageLite.writeTo(CodedOutputStream)
.toByteString
in interface MessageLite
public void writeDelimitedTo(OutputStream output) throws 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
IOException
public void writeTo(OutputStream output) throws 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
IOException