Class UnknownFieldSet.Field

  • Enclosing class:
    UnknownFieldSet

    public static final class UnknownFieldSet.Field
    extends java.lang.Object
    Represents a single field in an UnknownFieldSet.

    A Field consists of five lists of values. The lists correspond to the five "wire types" used in the protocol buffer binary format. The wire type of each field can be determined from the encoded form alone, without knowing the field's declared type. So, we are able to parse unknown values at least this far and separate them. Normally, only one of the five lists will contain any values, since it is impossible to define a valid message type that declares two different types for the same field number. However, the code is designed to allow for the case where the same unknown field number is encountered using multiple different wire types.

    Field is an immutable class. To construct one, you must use a UnknownFieldSet.Field.Builder.

    See Also:
    UnknownFieldSet
    • Field Detail

      • varint

        private java.util.List<java.lang.Long> varint
      • fixed32

        private java.util.List<java.lang.Integer> fixed32
      • fixed64

        private java.util.List<java.lang.Long> fixed64
      • lengthDelimited

        private java.util.List<ByteString> lengthDelimited
    • Constructor Detail

      • Field

        private Field()
    • Method Detail

      • getVarintList

        public java.util.List<java.lang.Long> getVarintList()
        Get the list of varint values for this field.
      • getFixed32List

        public java.util.List<java.lang.Integer> getFixed32List()
        Get the list of fixed32 values for this field.
      • getFixed64List

        public java.util.List<java.lang.Long> getFixed64List()
        Get the list of fixed64 values for this field.
      • getLengthDelimitedList

        public java.util.List<ByteString> getLengthDelimitedList()
        Get the list of length-delimited values for this field.
      • getGroupList

        public java.util.List<UnknownFieldSet> getGroupList()
        Get the list of embedded group values for this field. These are represented using UnknownFieldSets rather than Messages since the group's type is presumably unknown.
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getIdentityArray

        private java.lang.Object[] getIdentityArray()
        Returns the array of objects to be used to uniquely identify this UnknownFieldSet.Field instance.
      • writeTo

        public void writeTo​(int fieldNumber,
                            CodedOutputStream output)
                     throws java.io.IOException
        Serializes the field, including field number, and writes it to output.
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize​(int fieldNumber)
        Get the number of bytes required to encode this field, including field number.
      • writeAsMessageSetExtensionTo

        public void writeAsMessageSetExtensionTo​(int fieldNumber,
                                                 CodedOutputStream output)
                                          throws java.io.IOException
        Serializes the field, including field number, and writes it to output, using MessageSet wire format.
        Throws:
        java.io.IOException
      • writeTo

        void writeTo​(int fieldNumber,
                     Writer writer)
              throws java.io.IOException
        Serializes the field, including field number, and writes it to writer.
        Throws:
        java.io.IOException
      • writeAsMessageSetExtensionTo

        private void writeAsMessageSetExtensionTo​(int fieldNumber,
                                                  Writer writer)
                                           throws java.io.IOException
        Serializes the field, including field number, and writes it to writer, using MessageSet wire format.
        Throws:
        java.io.IOException
      • getSerializedSizeAsMessageSetExtension

        public int getSerializedSizeAsMessageSetExtension​(int fieldNumber)
        Get the number of bytes required to encode this field, including field number, using MessageSet wire format.