Package com.google.protobuf
Class WireFormat
- java.lang.Object
-
- com.google.protobuf.WireFormat
-
public final class WireFormat extends java.lang.Object
This class is used internally by the Protocol Buffer library and generated message implementations. It is public only because those generated messages do not reside in theprotobuf
package. Others should not use this class directly.This class contains constants and helper functions useful for dealing with the Protocol Buffer wire format.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WireFormat.FieldType
Lite equivalent toDescriptors.FieldDescriptor.Type
.static class
WireFormat.JavaType
Lite equivalent toDescriptors.FieldDescriptor.JavaType
.(package private) static class
WireFormat.Utf8Validation
Validation level for handling incoming string field data which potentially contain non-UTF8 bytes.
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
FIXED32_SIZE
(package private) static int
FIXED64_SIZE
(package private) static int
MAX_VARINT_SIZE
(package private) static int
MAX_VARINT32_SIZE
(package private) static int
MAX_VARINT64_SIZE
(package private) static int
MESSAGE_SET_ITEM
(package private) static int
MESSAGE_SET_ITEM_END_TAG
(package private) static int
MESSAGE_SET_ITEM_TAG
(package private) static int
MESSAGE_SET_MESSAGE
(package private) static int
MESSAGE_SET_MESSAGE_TAG
(package private) static int
MESSAGE_SET_TYPE_ID
(package private) static int
MESSAGE_SET_TYPE_ID_TAG
(package private) static int
TAG_TYPE_BITS
(package private) static int
TAG_TYPE_MASK
static int
WIRETYPE_END_GROUP
static int
WIRETYPE_FIXED32
static int
WIRETYPE_FIXED64
static int
WIRETYPE_LENGTH_DELIMITED
static int
WIRETYPE_START_GROUP
static int
WIRETYPE_VARINT
-
Constructor Summary
Constructors Modifier Constructor Description private
WireFormat()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
getTagFieldNumber(int tag)
Given a tag value, determines the field number (the upper 29 bits).static int
getTagWireType(int tag)
Given a tag value, determines the wire type (the lower 3 bits).(package private) static int
makeTag(int fieldNumber, int wireType)
Makes a tag value given a field number and wire type.(package private) static java.lang.Object
readPrimitiveField(CodedInputStream input, WireFormat.FieldType type, WireFormat.Utf8Validation utf8Validation)
Read a field of any primitive type for immutable messages from a CodedInputStream.
-
-
-
Field Detail
-
FIXED32_SIZE
static final int FIXED32_SIZE
- See Also:
- Constant Field Values
-
FIXED64_SIZE
static final int FIXED64_SIZE
- See Also:
- Constant Field Values
-
MAX_VARINT32_SIZE
static final int MAX_VARINT32_SIZE
- See Also:
- Constant Field Values
-
MAX_VARINT64_SIZE
static final int MAX_VARINT64_SIZE
- See Also:
- Constant Field Values
-
MAX_VARINT_SIZE
static final int MAX_VARINT_SIZE
- See Also:
- Constant Field Values
-
WIRETYPE_VARINT
public static final int WIRETYPE_VARINT
- See Also:
- Constant Field Values
-
WIRETYPE_FIXED64
public static final int WIRETYPE_FIXED64
- See Also:
- Constant Field Values
-
WIRETYPE_LENGTH_DELIMITED
public static final int WIRETYPE_LENGTH_DELIMITED
- See Also:
- Constant Field Values
-
WIRETYPE_START_GROUP
public static final int WIRETYPE_START_GROUP
- See Also:
- Constant Field Values
-
WIRETYPE_END_GROUP
public static final int WIRETYPE_END_GROUP
- See Also:
- Constant Field Values
-
WIRETYPE_FIXED32
public static final int WIRETYPE_FIXED32
- See Also:
- Constant Field Values
-
TAG_TYPE_BITS
static final int TAG_TYPE_BITS
- See Also:
- Constant Field Values
-
TAG_TYPE_MASK
static final int TAG_TYPE_MASK
- See Also:
- Constant Field Values
-
MESSAGE_SET_ITEM
static final int MESSAGE_SET_ITEM
- See Also:
- Constant Field Values
-
MESSAGE_SET_TYPE_ID
static final int MESSAGE_SET_TYPE_ID
- See Also:
- Constant Field Values
-
MESSAGE_SET_MESSAGE
static final int MESSAGE_SET_MESSAGE
- See Also:
- Constant Field Values
-
MESSAGE_SET_ITEM_TAG
static final int MESSAGE_SET_ITEM_TAG
-
MESSAGE_SET_ITEM_END_TAG
static final int MESSAGE_SET_ITEM_END_TAG
-
MESSAGE_SET_TYPE_ID_TAG
static final int MESSAGE_SET_TYPE_ID_TAG
-
MESSAGE_SET_MESSAGE_TAG
static final int MESSAGE_SET_MESSAGE_TAG
-
-
Method Detail
-
getTagWireType
public static int getTagWireType(int tag)
Given a tag value, determines the wire type (the lower 3 bits).
-
getTagFieldNumber
public static int getTagFieldNumber(int tag)
Given a tag value, determines the field number (the upper 29 bits).
-
makeTag
static int makeTag(int fieldNumber, int wireType)
Makes a tag value given a field number and wire type.
-
readPrimitiveField
static java.lang.Object readPrimitiveField(CodedInputStream input, WireFormat.FieldType type, WireFormat.Utf8Validation utf8Validation) throws java.io.IOException
Read a field of any primitive type for immutable messages from a CodedInputStream. Enums, groups, and embedded messages are not handled by this method.- Parameters:
input
- The stream from which to read.type
- Declared type of the field.utf8Validation
- Different string UTF8 validation level for handling string fields.- Returns:
- An object representing the field's value, of the exact type which would be returned by
MessageOrBuilder.getField(Descriptors.FieldDescriptor)
for this field. - Throws:
java.io.IOException
-
-