Class CodedOutputStream (3.19.4)

  public 
  
 abstract 
  
 class 
 CodedOutputStream 
  
 extends 
  
 ByteOutput 
 

Encodes and writes protocol message fields.

This class contains two kinds of methods: methods that write specific protocol message constructs and field types (e.g. #writeTag and #writeInt32 ) and methods that write low-level values (e.g. #writeRawVarint32 and #writeRawBytes ). If you are writing encoded protocol messages, you should use the former methods, but if you are writing some other format of your own design, use the latter.

This class is totally unsynchronized.

Inheritance

java.lang.Object > ByteOutput > CodedOutputStream

Static Fields

DEFAULT_BUFFER_SIZE

  public 
  
 static 
  
 final 
  
 int 
  
 DEFAULT_BUFFER_SIZE 
 

The buffer size used in #newInstance(OutputStream) .

Field Value
Type
Description
int

LITTLE_ENDIAN_32_SIZE (deprecated)

  public 
  
 static 
  
 final 
  
 int 
  
 LITTLE_ENDIAN_32_SIZE 
 

Deprecated. Use #computeFixed32SizeNoTag(int) instead.

Field Value
Type
Description
int

Static Methods

computeBoolSize(int fieldNumber, boolean value)

  public 
  
 static 
  
 int 
  
 computeBoolSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 boolean 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a bool field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeBoolSizeNoTag(boolean unused)

  public 
  
 static 
  
 int 
  
 computeBoolSizeNoTag 
 ( 
 boolean 
  
 unused 
 ) 
 

Compute the number of bytes that would be needed to encode a bool field.

Parameter
Name
Description
unused
Returns
Type
Description
int

computeByteArraySize(int fieldNumber, byte[] value)

  public 
  
 static 
  
 int 
  
 computeByteArraySize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 byte 
 [] 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a bytes field, including tag.

Parameters
Name
Description
fieldNumber
int
value
byte []
Returns
Type
Description
int

computeByteArraySizeNoTag(byte[] value)

  public 
  
 static 
  
 int 
  
 computeByteArraySizeNoTag 
 ( 
 byte 
 [] 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a bytes field.

Parameter
Name
Description
value
byte []
Returns
Type
Description
int

computeByteBufferSize(int fieldNumber, ByteBuffer value)

  public 
  
 static 
  
 int 
  
 computeByteBufferSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 ByteBuffer 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a bytes field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeByteBufferSizeNoTag(ByteBuffer value)

  public 
  
 static 
  
 int 
  
 computeByteBufferSizeNoTag 
 ( 
 ByteBuffer 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a bytes field.

Parameter
Name
Description
value
Returns
Type
Description
int

computeBytesSize(int fieldNumber, ByteString value)

  public 
  
 static 
  
 int 
  
 computeBytesSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 ByteString 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a bytes field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeBytesSizeNoTag(ByteString value)

  public 
  
 static 
  
 int 
  
 computeBytesSizeNoTag 
 ( 
 ByteString 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a bytes field.

Parameter
Name
Description
value
Returns
Type
Description
int

computeDoubleSize(int fieldNumber, double value)

  public 
  
 static 
  
 int 
  
 computeDoubleSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 double 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a double field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeDoubleSizeNoTag(double unused)

  public 
  
 static 
  
 int 
  
 computeDoubleSizeNoTag 
 ( 
 double 
  
 unused 
 ) 
 

Compute the number of bytes that would be needed to encode a double field, including tag.

Parameter
Name
Description
unused
Returns
Type
Description
int

computeEnumSize(int fieldNumber, int value)

  public 
  
 static 
  
 int 
  
 computeEnumSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an enum field, including tag. The provided value is the numeric value used to represent the enum value on the wire (not the enum ordinal value).

Parameters
Name
Description
fieldNumber
int
value
int
Returns
Type
Description
int

computeEnumSizeNoTag(int value)

  public 
  
 static 
  
 int 
  
 computeEnumSizeNoTag 
 ( 
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an enum field. The provided value is the numeric value used to represent the enum value on the wire (not the enum ordinal value).

Parameter
Name
Description
value
int
Returns
Type
Description
int

computeFixed32Size(int fieldNumber, int value)

  public 
  
 static 
  
 int 
  
 computeFixed32Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a fixed32 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
int
Returns
Type
Description
int

computeFixed32SizeNoTag(int unused)

  public 
  
 static 
  
 int 
  
 computeFixed32SizeNoTag 
 ( 
 int 
  
 unused 
 ) 
 

Compute the number of bytes that would be needed to encode a fixed32 field.

Parameter
Name
Description
unused
int
Returns
Type
Description
int

computeFixed64Size(int fieldNumber, long value)

  public 
  
 static 
  
 int 
  
 computeFixed64Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a fixed64 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeFixed64SizeNoTag(long unused)

  public 
  
 static 
  
 int 
  
 computeFixed64SizeNoTag 
 ( 
 long 
  
 unused 
 ) 
 

Compute the number of bytes that would be needed to encode a fixed64 field.

Parameter
Name
Description
unused
Returns
Type
Description
int

computeFloatSize(int fieldNumber, float value)

  public 
  
 static 
  
 int 
  
 computeFloatSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 float 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a float field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeFloatSizeNoTag(float unused)

  public 
  
 static 
  
 int 
  
 computeFloatSizeNoTag 
 ( 
 float 
  
 unused 
 ) 
 

Compute the number of bytes that would be needed to encode a float field, including tag.

Parameter
Name
Description
unused
Returns
Type
Description
int

computeGroupSize(int fieldNumber, MessageLite value) (deprecated)

  public 
  
 static 
  
 int 
  
 computeGroupSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 MessageLite 
  
 value 
 ) 
 

Deprecated. groups are deprecated.

Compute the number of bytes that would be needed to encode a group field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeGroupSizeNoTag(MessageLite value)

  public 
  
 static 
  
 int 
  
 computeGroupSizeNoTag 
 ( 
 MessageLite 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a group field.

Parameter
Name
Description
value
Returns
Type
Description
int

computeInt32Size(int fieldNumber, int value)

  public 
  
 static 
  
 int 
  
 computeInt32Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an int32 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
int
Returns
Type
Description
int

computeInt32SizeNoTag(int value)

  public 
  
 static 
  
 int 
  
 computeInt32SizeNoTag 
 ( 
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an int32 field, including tag.

Parameter
Name
Description
value
int
Returns
Type
Description
int

computeInt64Size(int fieldNumber, long value)

  public 
  
 static 
  
 int 
  
 computeInt64Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an int64 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeInt64SizeNoTag(long value)

  public 
  
 static 
  
 int 
  
 computeInt64SizeNoTag 
 ( 
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an int64 field, including tag.

Parameter
Name
Description
value
Returns
Type
Description
int

computeLazyFieldMessageSetExtensionSize(int fieldNumber, LazyFieldLite value)

  public 
  
 static 
  
 int 
  
 computeLazyFieldMessageSetExtensionSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 LazyFieldLite 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a lazily parsed MessageSet extension field to the stream. For historical reasons, the wire format differs from normal fields.

Parameters
Name
Description
fieldNumber
int
Returns
Type
Description
int

computeLazyFieldSize(int fieldNumber, LazyFieldLite value)

  public 
  
 static 
  
 int 
  
 computeLazyFieldSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 LazyFieldLite 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an embedded message in lazy field, including tag.

Parameters
Name
Description
fieldNumber
int
Returns
Type
Description
int

computeLazyFieldSizeNoTag(LazyFieldLite value)

  public 
  
 static 
  
 int 
  
 computeLazyFieldSizeNoTag 
 ( 
 LazyFieldLite 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an embedded message stored in lazy field.

Parameter
Name
Description
Returns
Type
Description
int

computeMessageSetExtensionSize(int fieldNumber, MessageLite value)

  public 
  
 static 
  
 int 
  
 computeMessageSetExtensionSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 MessageLite 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a MessageSet extension to the stream. For historical reasons, the wire format differs from normal fields.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeMessageSize(int fieldNumber, MessageLite value)

  public 
  
 static 
  
 int 
  
 computeMessageSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 MessageLite 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an embedded message field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeMessageSizeNoTag(MessageLite value)

  public 
  
 static 
  
 int 
  
 computeMessageSizeNoTag 
 ( 
 MessageLite 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an embedded message field.

Parameter
Name
Description
value
Returns
Type
Description
int

computeRawMessageSetExtensionSize(int fieldNumber, ByteString value)

  public 
  
 static 
  
 int 
  
 computeRawMessageSetExtensionSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 ByteString 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an unparsed MessageSet extension field to the stream. For historical reasons, the wire format differs from normal fields.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeRawVarint32Size(int value) (deprecated)

  public 
  
 static 
  
 int 
  
 computeRawVarint32Size 
 ( 
 int 
  
 value 
 ) 
 

Deprecated. use #computeUInt32SizeNoTag(int) instead.

Compute the number of bytes that would be needed to encode a varint. value is treated as unsigned, so it won't be sign-extended if negative.

Parameter
Name
Description
value
int
Returns
Type
Description
int

computeRawVarint64Size(long value) (deprecated)

  public 
  
 static 
  
 int 
  
 computeRawVarint64Size 
 ( 
 long 
  
 value 
 ) 
 

Deprecated. use #computeUInt64SizeNoTag(long) instead.

Compute the number of bytes that would be needed to encode a varint.

Parameter
Name
Description
value
Returns
Type
Description
int

computeSFixed32Size(int fieldNumber, int value)

  public 
  
 static 
  
 int 
  
 computeSFixed32Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an sfixed32 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
int
Returns
Type
Description
int

computeSFixed32SizeNoTag(int unused)

  public 
  
 static 
  
 int 
  
 computeSFixed32SizeNoTag 
 ( 
 int 
  
 unused 
 ) 
 

Compute the number of bytes that would be needed to encode an sfixed32 field.

Parameter
Name
Description
unused
int
Returns
Type
Description
int

computeSFixed64Size(int fieldNumber, long value)

  public 
  
 static 
  
 int 
  
 computeSFixed64Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an sfixed64 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeSFixed64SizeNoTag(long unused)

  public 
  
 static 
  
 int 
  
 computeSFixed64SizeNoTag 
 ( 
 long 
  
 unused 
 ) 
 

Compute the number of bytes that would be needed to encode an sfixed64 field.

Parameter
Name
Description
unused
Returns
Type
Description
int

computeSInt32Size(int fieldNumber, int value)

  public 
  
 static 
  
 int 
  
 computeSInt32Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an sint32 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
int
Returns
Type
Description
int

computeSInt32SizeNoTag(int value)

  public 
  
 static 
  
 int 
  
 computeSInt32SizeNoTag 
 ( 
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an sint32 field.

Parameter
Name
Description
value
int
Returns
Type
Description
int

computeSInt64Size(int fieldNumber, long value)

  public 
  
 static 
  
 int 
  
 computeSInt64Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an sint64 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeSInt64SizeNoTag(long value)

  public 
  
 static 
  
 int 
  
 computeSInt64SizeNoTag 
 ( 
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode an sint64 field.

Parameter
Name
Description
value
Returns
Type
Description
int

computeStringSize(int fieldNumber, String value)

  public 
  
 static 
  
 int 
  
 computeStringSize 
 ( 
 int 
  
 fieldNumber 
 , 
  
 String 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a string field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeStringSizeNoTag(String value)

  public 
  
 static 
  
 int 
  
 computeStringSizeNoTag 
 ( 
 String 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a string field.

Parameter
Name
Description
value
Returns
Type
Description
int

computeTagSize(int fieldNumber)

  public 
  
 static 
  
 int 
  
 computeTagSize 
 ( 
 int 
  
 fieldNumber 
 ) 
 

Compute the number of bytes that would be needed to encode a tag.

Parameter
Name
Description
fieldNumber
int
Returns
Type
Description
int

computeUInt32Size(int fieldNumber, int value)

  public 
  
 static 
  
 int 
  
 computeUInt32Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a uint32 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
int
Returns
Type
Description
int

computeUInt32SizeNoTag(int value)

  public 
  
 static 
  
 int 
  
 computeUInt32SizeNoTag 
 ( 
 int 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a uint32 field.

Parameter
Name
Description
value
int
Returns
Type
Description
int

computeUInt64Size(int fieldNumber, long value)

  public 
  
 static 
  
 int 
  
 computeUInt64Size 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a uint64 field, including tag.

Parameters
Name
Description
fieldNumber
int
value
Returns
Type
Description
int

computeUInt64SizeNoTag(long value)

  public 
  
 static 
  
 int 
  
 computeUInt64SizeNoTag 
 ( 
 long 
  
 value 
 ) 
 

Compute the number of bytes that would be needed to encode a uint64 field, including tag.

Parameter
Name
Description
value
Returns
Type
Description
int

encodeZigZag32(int n)

  public 
  
 static 
  
 int 
  
 encodeZigZag32 
 ( 
 int 
  
 n 
 ) 
 

Encode a ZigZag-encoded 32-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

Parameter
Name
Description
n
int

A signed 32-bit integer.

Returns
Type
Description
int

An unsigned 32-bit integer, stored in a signed int because Java has no explicit unsigned support.

encodeZigZag64(long n)

  public 
  
 static 
  
 long 
  
 encodeZigZag64 
 ( 
 long 
  
 n 
 ) 
 

Encode a ZigZag-encoded 64-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

Parameter
Name
Description
n
long

A signed 64-bit integer.

Returns
Type
Description

An unsigned 64-bit integer, stored in a signed int because Java has no explicit unsigned support.

newInstance(byte[] flatArray)

  public 
  
 static 
  
 CodedOutputStream 
  
 newInstance 
 ( 
 byte 
 [] 
  
 flatArray 
 ) 
 

Create a new CodedOutputStream that writes directly to the given byte array. If more bytes are written than fit in the array, OutOfSpaceException will be thrown. Writing directly to a flat array is faster than writing to an OutputStream . See also ByteString#newCodedBuilder .

Parameter
Name
Description
flatArray
byte []
Returns
Type
Description

newInstance(byte[] flatArray, int offset, int length)

  public 
  
 static 
  
 CodedOutputStream 
  
 newInstance 
 ( 
 byte 
 [] 
  
 flatArray 
 , 
  
 int 
  
 offset 
 , 
  
 int 
  
 length 
 ) 
 

Create a new CodedOutputStream that writes directly to the given byte array slice. If more bytes are written than fit in the slice, OutOfSpaceException will be thrown. Writing directly to a flat array is faster than writing to an OutputStream . See also ByteString#newCodedBuilder .

Parameters
Name
Description
flatArray
byte []
offset
int
length
int
Returns
Type
Description

newInstance(OutputStream output)

  public 
  
 static 
  
 CodedOutputStream 
  
 newInstance 
 ( 
 OutputStream 
  
 output 
 ) 
 

Create a new CodedOutputStream wrapping the given OutputStream .

NOTE: The provided OutputStream MUST NOTretain access or modify the provided byte arrays. Doing so may result in corrupted data, which would be difficult to debug.

Parameter
Name
Description
output
Returns
Type
Description

newInstance(OutputStream output, int bufferSize)

  public 
  
 static 
  
 CodedOutputStream 
  
 newInstance 
 ( 
 OutputStream 
  
 output 
 , 
  
 int 
  
 bufferSize 
 ) 
 

Create a new CodedOutputStream wrapping the given OutputStream with a given buffer size.

NOTE: The provided OutputStream MUST NOTretain access or modify the provided byte arrays. Doing so may result in corrupted data, which would be difficult to debug.

Parameters
Name
Description
output
bufferSize
int
Returns
Type
Description

newInstance(ByteBuffer buffer)

  public 
  
 static 
  
 CodedOutputStream 
  
 newInstance 
 ( 
 ByteBuffer 
  
 buffer 
 ) 
 

Create a new CodedOutputStream that writes to the given ByteBuffer .

Parameter
Name
Description
buffer
Returns
Type
Description

newInstance(ByteBuffer byteBuffer, int unused) (deprecated)

  public 
  
 static 
  
 CodedOutputStream 
  
 newInstance 
 ( 
 ByteBuffer 
  
 byteBuffer 
 , 
  
 int 
  
 unused 
 ) 
 

Deprecated. the size parameter is no longer used since use of an internal buffer is useless (and wasteful) when writing to a ByteBuffer . Use #newInstance(ByteBuffer) instead.

Create a new CodedOutputStream that writes to the given ByteBuffer .

Parameters
Name
Description
byteBuffer
unused
int
Returns
Type
Description

Methods

checkNoSpaceLeft()

  public 
  
 final 
  
 void 
  
 checkNoSpaceLeft 
 () 
 

Verifies that #spaceLeft() returns zero. It's common to create a byte array that is exactly big enough to hold a message, then write to it with a CodedOutputStream . Calling checkNoSpaceLeft() after writing verifies that the message was actually as big as expected, which can help catch bugs.

flush()

  public 
  
 abstract 
  
 void 
  
 flush 
 () 
 

Flushes the stream and forces any buffered bytes to be written. This does not flush the underlying OutputStream.

Exceptions
Type
Description

getTotalBytesWritten()

  public 
  
 abstract 
  
 int 
  
 getTotalBytesWritten 
 () 
 

Get the total number of bytes successfully written to this stream. The returned value is not guaranteed to be accurate if exceptions have been found in the middle of writing.

Returns
Type
Description
int

spaceLeft()

  public 
  
 abstract 
  
 int 
  
 spaceLeft 
 () 
 

If writing to a flat array, return the space left in the array. Otherwise, throws UnsupportedOperationException .

Returns
Type
Description
int

useDeterministicSerialization()

  public 
  
 void 
  
 useDeterministicSerialization 
 () 
 

Configures serialization to be deterministic.

The deterministic serialization guarantees that for a given binary, equal (defined by the equals() methods in protos) messages will always be serialized to the same bytes. This implies:

  • repeated serialization of a message will return the same bytes
  • different processes of the same binary (which may be executing on different machines) will serialize equal messages to the same bytes.

Note the deterministic serialization is NOT canonical across languages; it is also unstable across different builds with schema changes due to unknown fields. Users who need canonical serialization, e.g. persistent storage in a canonical form, fingerprinting, etc, should define their own canonicalization specification and implement the serializer using reflection APIs rather than relying on this API.

Once set, the serializer will: (Note this is an implementation detail and may subject to change in the future)

  • sort map entries by keys in lexicographical order or numerical order. Note: For string keys, the order is based on comparing the Unicode value of each character in the strings. The order may be different from the deterministic serialization in other languages where maps are sorted on the lexicographical order of the UTF8 encoded keys.

write(byte value)

  public 
  
 abstract 
  
 void 
  
 write 
 ( 
 byte 
  
 value 
 ) 
 

Writes a single byte.

Parameter
Name
Description
value
Overrides
Exceptions
Type
Description

write(byte[] value, int offset, int length)

  public 
  
 abstract 
  
 void 
  
 write 
 ( 
 byte 
 [] 
  
 value 
 , 
  
 int 
  
 offset 
 , 
  
 int 
  
 length 
 ) 
 

Writes a sequence of bytes. The ByteOutput must copy value if it will not be processed prior to the return of this method call, since value may be reused/altered by the caller.

NOTE: This method MUST NOTmodify the value . Doing so is a programming error and will lead to data corruption which will be difficult to debug.

Parameters
Name
Description
value
byte []
offset
int
length
int
Overrides
Exceptions
Type
Description

write(ByteBuffer value)

  public 
  
 abstract 
  
 void 
  
 write 
 ( 
 ByteBuffer 
  
 value 
 ) 
 

Writes a sequence of bytes. The ByteOutput must copy value if it will not be processed prior to the return of this method call, since value may be reused/altered by the caller.

NOTE: This method MUST NOTmodify the value . Doing so is a programming error and will lead to data corruption which will be difficult to debug.

Parameter
Name
Description
value
Overrides
Exceptions
Type
Description

writeBool(int fieldNumber, boolean value)

  public 
  
 abstract 
  
 void 
  
 writeBool 
 ( 
 int 
  
 fieldNumber 
 , 
  
 boolean 
  
 value 
 ) 
 

Write a bool field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeBoolNoTag(boolean value)

  public 
  
 final 
  
 void 
  
 writeBoolNoTag 
 ( 
 boolean 
  
 value 
 ) 
 

Write a bool field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeByteArray(int fieldNumber, byte[] value)

  public 
  
 abstract 
  
 void 
  
 writeByteArray 
 ( 
 int 
  
 fieldNumber 
 , 
  
 byte 
 [] 
  
 value 
 ) 
 

Write a bytes field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
byte []
Exceptions
Type
Description

writeByteArray(int fieldNumber, byte[] value, int offset, int length)

  public 
  
 abstract 
  
 void 
  
 writeByteArray 
 ( 
 int 
  
 fieldNumber 
 , 
  
 byte 
 [] 
  
 value 
 , 
  
 int 
  
 offset 
 , 
  
 int 
  
 length 
 ) 
 

Write a bytes field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
byte []
offset
int
length
int
Exceptions
Type
Description

writeByteArrayNoTag(byte[] value)

  public 
  
 final 
  
 void 
  
 writeByteArrayNoTag 
 ( 
 byte 
 [] 
  
 value 
 ) 
 

Write a bytes field to the stream.

Parameter
Name
Description
value
byte []
Exceptions
Type
Description

writeByteBuffer(int fieldNumber, ByteBuffer value)

  public 
  
 abstract 
  
 void 
  
 writeByteBuffer 
 ( 
 int 
  
 fieldNumber 
 , 
  
 ByteBuffer 
  
 value 
 ) 
 

Write a bytes field, including tag, to the stream. This method will write all content of the ByteBuffer regardless of the current position and limit (i.e., the number of bytes to be written is value.capacity(), not value.remaining()). Furthermore, this method doesn't alter the state of the passed-in ByteBuffer. Its position, limit, mark, etc. will remain unchanged. If you only want to write the remaining bytes of a ByteBuffer, you can call writeByteBuffer(fieldNumber, byteBuffer.slice()) .

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeBytes(int fieldNumber, ByteString value)

  public 
  
 abstract 
  
 void 
  
 writeBytes 
 ( 
 int 
  
 fieldNumber 
 , 
  
 ByteString 
  
 value 
 ) 
 

Write a bytes field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeBytesNoTag(ByteString value)

  public 
  
 abstract 
  
 void 
  
 writeBytesNoTag 
 ( 
 ByteString 
  
 value 
 ) 
 

Write a bytes field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeDouble(int fieldNumber, double value)

  public 
  
 final 
  
 void 
  
 writeDouble 
 ( 
 int 
  
 fieldNumber 
 , 
  
 double 
  
 value 
 ) 
 

Write a double field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeDoubleNoTag(double value)

  public 
  
 final 
  
 void 
  
 writeDoubleNoTag 
 ( 
 double 
  
 value 
 ) 
 

Write a double field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeEnum(int fieldNumber, int value)

  public 
  
 final 
  
 void 
  
 writeEnum 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Write an enum field, including tag, to the stream. The provided value is the numeric value used to represent the enum value on the wire (not the enum ordinal value).

Parameters
Name
Description
fieldNumber
int
value
int
Exceptions
Type
Description

writeEnumNoTag(int value)

  public 
  
 final 
  
 void 
  
 writeEnumNoTag 
 ( 
 int 
  
 value 
 ) 
 

Write an enum field to the stream. The provided value is the numeric value used to represent the enum value on the wire (not the enum ordinal value).

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeFixed32(int fieldNumber, int value)

  public 
  
 abstract 
  
 void 
  
 writeFixed32 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Write a fixed32 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
int
Exceptions
Type
Description

writeFixed32NoTag(int value)

  public 
  
 abstract 
  
 void 
  
 writeFixed32NoTag 
 ( 
 int 
  
 value 
 ) 
 

Write a fixed32 field to the stream.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeFixed64(int fieldNumber, long value)

  public 
  
 abstract 
  
 void 
  
 writeFixed64 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Write a fixed64 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeFixed64NoTag(long value)

  public 
  
 abstract 
  
 void 
  
 writeFixed64NoTag 
 ( 
 long 
  
 value 
 ) 
 

Write a fixed64 field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeFloat(int fieldNumber, float value)

  public 
  
 final 
  
 void 
  
 writeFloat 
 ( 
 int 
  
 fieldNumber 
 , 
  
 float 
  
 value 
 ) 
 

Write a float field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeFloatNoTag(float value)

  public 
  
 final 
  
 void 
  
 writeFloatNoTag 
 ( 
 float 
  
 value 
 ) 
 

Write a float field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeGroup(int fieldNumber, MessageLite value) (deprecated)

  public 
  
 final 
  
 void 
  
 writeGroup 
 ( 
 int 
  
 fieldNumber 
 , 
  
 MessageLite 
  
 value 
 ) 
 

Deprecated. groups are deprecated.

Write a group field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeGroupNoTag(MessageLite value) (deprecated)

  public 
  
 final 
  
 void 
  
 writeGroupNoTag 
 ( 
 MessageLite 
  
 value 
 ) 
 

Deprecated. groups are deprecated.

Write a group field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeInt32(int fieldNumber, int value)

  public 
  
 abstract 
  
 void 
  
 writeInt32 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Write an int32 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
int
Exceptions
Type
Description

writeInt32NoTag(int value)

  public 
  
 abstract 
  
 void 
  
 writeInt32NoTag 
 ( 
 int 
  
 value 
 ) 
 

Write an int32 field to the stream.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeInt64(int fieldNumber, long value)

  public 
  
 final 
  
 void 
  
 writeInt64 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Write an int64 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeInt64NoTag(long value)

  public 
  
 final 
  
 void 
  
 writeInt64NoTag 
 ( 
 long 
  
 value 
 ) 
 

Write an int64 field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeLazy(byte[] value, int offset, int length)

  public 
  
 abstract 
  
 void 
  
 writeLazy 
 ( 
 byte 
 [] 
  
 value 
 , 
  
 int 
  
 offset 
 , 
  
 int 
  
 length 
 ) 
 

Writes a sequence of bytes. The ByteOutput is free to retain a reference to the value beyond the scope of this method call (e.g. write later) since it is considered immutable and is guaranteed not to change by the caller.

NOTE: This method MUST NOTmodify the value . Doing so is a programming error and will lead to data corruption which will be difficult to debug.

Parameters
Name
Description
value
byte []
offset
int
length
int
Overrides
Exceptions
Type
Description

writeLazy(ByteBuffer value)

  public 
  
 abstract 
  
 void 
  
 writeLazy 
 ( 
 ByteBuffer 
  
 value 
 ) 
 

Writes a sequence of bytes. The ByteOutput is free to retain a reference to the value beyond the scope of this method call (e.g. write later) since it is considered immutable and is guaranteed not to change by the caller.

NOTE: This method MUST NOTmodify the value . Doing so is a programming error and will lead to data corruption which will be difficult to debug.

Parameter
Name
Description
value
Overrides
Exceptions
Type
Description

writeMessage(int fieldNumber, MessageLite value)

  public 
  
 abstract 
  
 void 
  
 writeMessage 
 ( 
 int 
  
 fieldNumber 
 , 
  
 MessageLite 
  
 value 
 ) 
 

Write an embedded message field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeMessageNoTag(MessageLite value)

  public 
  
 abstract 
  
 void 
  
 writeMessageNoTag 
 ( 
 MessageLite 
  
 value 
 ) 
 

Write an embedded message field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeMessageSetExtension(int fieldNumber, MessageLite value)

  public 
  
 abstract 
  
 void 
  
 writeMessageSetExtension 
 ( 
 int 
  
 fieldNumber 
 , 
  
 MessageLite 
  
 value 
 ) 
 

Write a MessageSet extension field to the stream. For historical reasons, the wire format differs from normal fields.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeRawByte(byte value)

  public 
  
 final 
  
 void 
  
 writeRawByte 
 ( 
 byte 
  
 value 
 ) 
 

Write a single byte.

Parameter
Name
Description
value
Exceptions
Type
Description

writeRawByte(int value)

  public 
  
 final 
  
 void 
  
 writeRawByte 
 ( 
 int 
  
 value 
 ) 
 

Write a single byte, represented by an integer value.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeRawBytes(byte[] value)

  public 
  
 final 
  
 void 
  
 writeRawBytes 
 ( 
 byte 
 [] 
  
 value 
 ) 
 

Write an array of bytes.

Parameter
Name
Description
value
byte []
Exceptions
Type
Description

writeRawBytes(byte[] value, int offset, int length)

  public 
  
 final 
  
 void 
  
 writeRawBytes 
 ( 
 byte 
 [] 
  
 value 
 , 
  
 int 
  
 offset 
 , 
  
 int 
  
 length 
 ) 
 

Write part of an array of bytes.

Parameters
Name
Description
value
byte []
offset
int
length
int
Exceptions
Type
Description

writeRawBytes(ByteString value)

  public 
  
 final 
  
 void 
  
 writeRawBytes 
 ( 
 ByteString 
  
 value 
 ) 
 

Write a byte string.

Parameter
Name
Description
value
Exceptions
Type
Description

writeRawBytes(ByteBuffer value)

  public 
  
 abstract 
  
 void 
  
 writeRawBytes 
 ( 
 ByteBuffer 
  
 value 
 ) 
 

Write a ByteBuffer. This method will write all content of the ByteBuffer regardless of the current position and limit (i.e., the number of bytes to be written is value.capacity(), not value.remaining()). Furthermore, this method doesn't alter the state of the passed-in ByteBuffer. Its position, limit, mark, etc. will remain unchanged. If you only want to write the remaining bytes of a ByteBuffer, you can call writeRawBytes(byteBuffer.slice()) .

Parameter
Name
Description
value
Exceptions
Type
Description

writeRawLittleEndian32(int value) (deprecated)

  public 
  
 final 
  
 void 
  
 writeRawLittleEndian32 
 ( 
 int 
  
 value 
 ) 
 

Deprecated. Use #writeFixed32NoTag instead.

Write a little-endian 32-bit integer.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeRawLittleEndian64(long value) (deprecated)

  public 
  
 final 
  
 void 
  
 writeRawLittleEndian64 
 ( 
 long 
  
 value 
 ) 
 

Deprecated. Use #writeFixed64NoTag instead.

Write a little-endian 64-bit integer.

Parameter
Name
Description
value
Exceptions
Type
Description

writeRawMessageSetExtension(int fieldNumber, ByteString value)

  public 
  
 abstract 
  
 void 
  
 writeRawMessageSetExtension 
 ( 
 int 
  
 fieldNumber 
 , 
  
 ByteString 
  
 value 
 ) 
 

Write an unparsed MessageSet extension field to the stream. For historical reasons, the wire format differs from normal fields.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeRawVarint32(int value) (deprecated)

  public 
  
 final 
  
 void 
  
 writeRawVarint32 
 ( 
 int 
  
 value 
 ) 
 

Deprecated. use #writeUInt32NoTag instead.

Encode and write a varint. value is treated as unsigned, so it won't be sign-extended if negative.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeRawVarint64(long value) (deprecated)

  public 
  
 final 
  
 void 
  
 writeRawVarint64 
 ( 
 long 
  
 value 
 ) 
 

Deprecated. use #writeUInt64NoTag instead.

Encode and write a varint.

Parameter
Name
Description
value
Exceptions
Type
Description

writeSFixed32(int fieldNumber, int value)

  public 
  
 final 
  
 void 
  
 writeSFixed32 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Write an sfixed32 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
int
Exceptions
Type
Description

writeSFixed32NoTag(int value)

  public 
  
 final 
  
 void 
  
 writeSFixed32NoTag 
 ( 
 int 
  
 value 
 ) 
 

Write a sfixed32 field to the stream.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeSFixed64(int fieldNumber, long value)

  public 
  
 final 
  
 void 
  
 writeSFixed64 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Write an sfixed64 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeSFixed64NoTag(long value)

  public 
  
 final 
  
 void 
  
 writeSFixed64NoTag 
 ( 
 long 
  
 value 
 ) 
 

Write a sfixed64 field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeSInt32(int fieldNumber, int value)

  public 
  
 final 
  
 void 
  
 writeSInt32 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Write a sint32 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
int
Exceptions
Type
Description

writeSInt32NoTag(int value)

  public 
  
 final 
  
 void 
  
 writeSInt32NoTag 
 ( 
 int 
  
 value 
 ) 
 

Write a sint32 field to the stream.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeSInt64(int fieldNumber, long value)

  public 
  
 final 
  
 void 
  
 writeSInt64 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Write an sint64 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeSInt64NoTag(long value)

  public 
  
 final 
  
 void 
  
 writeSInt64NoTag 
 ( 
 long 
  
 value 
 ) 
 

Write a sint64 field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeString(int fieldNumber, String value)

  public 
  
 abstract 
  
 void 
  
 writeString 
 ( 
 int 
  
 fieldNumber 
 , 
  
 String 
  
 value 
 ) 
 

Write a string field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeStringNoTag(String value)

  public 
  
 abstract 
  
 void 
  
 writeStringNoTag 
 ( 
 String 
  
 value 
 ) 
 

Write a string field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description

writeTag(int fieldNumber, int wireType)

  public 
  
 abstract 
  
 void 
  
 writeTag 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 wireType 
 ) 
 

Encode and write a tag.

Parameters
Name
Description
fieldNumber
int
wireType
int
Exceptions
Type
Description

writeUInt32(int fieldNumber, int value)

  public 
  
 abstract 
  
 void 
  
 writeUInt32 
 ( 
 int 
  
 fieldNumber 
 , 
  
 int 
  
 value 
 ) 
 

Write a uint32 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
int
Exceptions
Type
Description

writeUInt32NoTag(int value)

  public 
  
 abstract 
  
 void 
  
 writeUInt32NoTag 
 ( 
 int 
  
 value 
 ) 
 

Write a uint32 field to the stream.

Parameter
Name
Description
value
int
Exceptions
Type
Description

writeUInt64(int fieldNumber, long value)

  public 
  
 abstract 
  
 void 
  
 writeUInt64 
 ( 
 int 
  
 fieldNumber 
 , 
  
 long 
  
 value 
 ) 
 

Write a uint64 field, including tag, to the stream.

Parameters
Name
Description
fieldNumber
int
value
Exceptions
Type
Description

writeUInt64NoTag(long value)

  public 
  
 abstract 
  
 void 
  
 writeUInt64NoTag 
 ( 
 long 
  
 value 
 ) 
 

Write a uint64 field to the stream.

Parameter
Name
Description
value
Exceptions
Type
Description
Design a Mobile Site
View Site in Mobile | Classic
Share by: