Class WireFormat

java.lang.Object
com.google.protobuf.WireFormat

public final class WireFormat extends 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 the protobuf package. Others should not use this class directly.

This class contains constants and helper functions useful for dealing with the Protocol Buffer wire format.

  • Field Details

    • FIXED32_SIZE

      static final int FIXED32_SIZE
      See Also:
    • FIXED64_SIZE

      static final int FIXED64_SIZE
      See Also:
    • MAX_VARINT32_SIZE

      static final int MAX_VARINT32_SIZE
      See Also:
    • MAX_VARINT64_SIZE

      static final int MAX_VARINT64_SIZE
      See Also:
    • MAX_VARINT_SIZE

      static final int MAX_VARINT_SIZE
      See Also:
    • WIRETYPE_VARINT

      public static final int WIRETYPE_VARINT
      See Also:
    • WIRETYPE_FIXED64

      public static final int WIRETYPE_FIXED64
      See Also:
    • WIRETYPE_LENGTH_DELIMITED

      public static final int WIRETYPE_LENGTH_DELIMITED
      See Also:
    • WIRETYPE_START_GROUP

      public static final int WIRETYPE_START_GROUP
      See Also:
    • WIRETYPE_END_GROUP

      public static final int WIRETYPE_END_GROUP
      See Also:
    • WIRETYPE_FIXED32

      public static final int WIRETYPE_FIXED32
      See Also:
    • TAG_TYPE_BITS

      static final int TAG_TYPE_BITS
      See Also:
    • TAG_TYPE_MASK

      static final int TAG_TYPE_MASK
      See Also:
    • MESSAGE_SET_ITEM

      static final int MESSAGE_SET_ITEM
      See Also:
    • MESSAGE_SET_TYPE_ID

      static final int MESSAGE_SET_TYPE_ID
      See Also:
    • MESSAGE_SET_MESSAGE

      static final int MESSAGE_SET_MESSAGE
      See Also:
    • 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
  • Constructor Details

    • WireFormat

      private WireFormat()
  • Method Details

    • 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 Object readPrimitiveField(CodedInputStream input, WireFormat.FieldType type, WireFormat.Utf8Validation utf8Validation) throws 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:
      IOException