Classes | Public Member Functions | List of all members
com.google.protobuf.MessageLite Interface Reference
Inheritance diagram for com.google.protobuf.MessageLite:
Inheritance graph
[legend]

Classes

interface  Builder
 

Public Member Functions

Parser<? extends MessageLitegetParserForType ()
 
int getSerializedSize ()
 
Builder newBuilderForType ()
 
Builder toBuilder ()
 
byte[] toByteArray ()
 
ByteString toByteString ()
 
void writeDelimitedTo (OutputStream output) throws IOException
 
void writeTo (CodedOutputStream output) throws IOException
 
void writeTo (OutputStream output) throws IOException
 
- Public Member Functions inherited from com.google.protobuf.MessageLiteOrBuilder
MessageLite getDefaultInstanceForType ()
 
boolean isInitialized ()
 

Detailed Description

Abstract interface implemented by Protocol Message objects.

This interface is implemented by all protocol message objects. Non-lite messages additionally implement the Message interface, which is a subclass of MessageLite. Use MessageLite instead when you only need the subset of features which it supports – namely, nothing that uses descriptors or reflection. You can instruct the protocol compiler to generate classes which implement only MessageLite, not the full Message interface, by adding the follow line to the .proto file:

  option optimize_for = LITE_RUNTIME;

This is particularly useful on resource-constrained systems where the full protocol buffers runtime library is too big.

Note that on non-constrained systems (e.g. servers) when you need to link in lots of protocol definitions, a better way to reduce total code footprint is to use

optimize_for =
CODE_SIZE

. This will make the generated code smaller while still supporting all the same features (at the expense of speed).

optimize_for = LITE_RUNTIME

is best when you only have a small number of message types linked into your binary, in which case the size of the protocol buffers runtime itself is the biggest problem.

Author
kento.nosp@m.n@go.nosp@m.ogle..nosp@m.com Kenton Varda

Definition at line 65 of file MessageLite.java.

Member Function Documentation

◆ getParserForType()

Parser<? extends MessageLite> com.google.protobuf.MessageLite.getParserForType ( )

◆ getSerializedSize()

int com.google.protobuf.MessageLite.getSerializedSize ( )

Get the number of bytes required to encode this message. The result is only computed on the first call and memoized after that.

Implemented in com.google.protobuf.GeneratedMessageV3, com.google.protobuf.GeneratedMessage, com.google.protobuf.DynamicMessage, com.google.protobuf.UnknownFieldSet, com.google.protobuf.MapEntry< K, V >, and com.google.protobuf.AbstractMessage.

◆ newBuilderForType()

Builder com.google.protobuf.MessageLite.newBuilderForType ( )

◆ toBuilder()

Builder com.google.protobuf.MessageLite.toBuilder ( )

◆ toByteArray()

byte [] com.google.protobuf.MessageLite.toByteArray ( )

◆ toByteString()

ByteString com.google.protobuf.MessageLite.toByteString ( )

◆ writeDelimitedTo()

void com.google.protobuf.MessageLite.writeDelimitedTo ( OutputStream  output) throws IOException

◆ writeTo() [1/2]

void com.google.protobuf.MessageLite.writeTo ( CodedOutputStream  output) throws IOException

◆ writeTo() [2/2]

void com.google.protobuf.MessageLite.writeTo ( OutputStream  output) throws IOException

Serializes the message and writes it to

. This is just a trivial wrapper around 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 writeDelimitedTo(OutputStream).

Implemented in com.google.protobuf.UnknownFieldSet, and com.google.protobuf.AbstractMessageLite< MessageType extends AbstractMessageLite< MessageType, BuilderType, BuilderType extends AbstractMessageLite.Builder< MessageType, BuilderType >.


The documentation for this interface was generated from the following file:
output
const upb_json_parsermethod const upb_symtab upb_sink * output
Definition: ruby/ext/google/protobuf_c/upb.h:10503


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:07