Class UnknownFieldSetLite

java.lang.Object
com.google.protobuf.UnknownFieldSetLite

public final class UnknownFieldSetLite extends Object
UnknownFieldSetLite is used to keep track of fields which were seen when parsing a protocol message but whose field numbers or types are unrecognized. This most frequently occurs when new fields are added to a message type and then messages containing those fields are read by old software that was compiled before the new types were added.

For use by generated code only.

  • Field Details

    • MIN_CAPACITY

      private static final int MIN_CAPACITY
      See Also:
    • DEFAULT_INSTANCE

      private static final UnknownFieldSetLite DEFAULT_INSTANCE
    • count

      private int count
      The number of elements in the set.
    • tags

      private int[] tags
      The tag numbers for the elements in the set.
    • objects

      private Object[] objects
      The boxed values of the elements in the set.
    • memoizedSerializedSize

      private int memoizedSerializedSize
      The lazily computed serialized size of the set.
    • isMutable

      private boolean isMutable
      Indicates that this object is mutable.
  • Constructor Details

    • UnknownFieldSetLite

      private UnknownFieldSetLite()
      Constructs a mutable UnknownFieldSetLite.
    • UnknownFieldSetLite

      private UnknownFieldSetLite(int count, int[] tags, Object[] objects, boolean isMutable)
      Constructs the UnknownFieldSetLite.
  • Method Details

    • getDefaultInstance

      public static UnknownFieldSetLite getDefaultInstance()
      Get an empty UnknownFieldSetLite.

      For use by generated code only.

    • newInstance

      static UnknownFieldSetLite newInstance()
      Returns a new mutable instance.
    • mutableCopyOf

      static UnknownFieldSetLite mutableCopyOf(UnknownFieldSetLite first, UnknownFieldSetLite second)
      Returns a mutable UnknownFieldSetLite that is the composite of first and second.
    • makeImmutable

      public void makeImmutable()
      Marks this object as immutable.

      Future calls to methods that attempt to modify this object will throw.

    • checkMutable

      void checkMutable()
      Throws an UnsupportedOperationException if immutable.
    • writeTo

      public void writeTo(CodedOutputStream output) throws IOException
      Serializes the set and writes it to output.

      For use by generated code only.

      Throws:
      IOException
    • writeAsMessageSetTo

      public void writeAsMessageSetTo(CodedOutputStream output) throws IOException
      Serializes the set and writes it to output using MessageSet wire format.

      For use by generated code only.

      Throws:
      IOException
    • writeAsMessageSetTo

      void writeAsMessageSetTo(Writer writer) throws IOException
      Serializes the set and writes it to writer using MessageSet wire format.
      Throws:
      IOException
    • writeTo

      public void writeTo(Writer writer) throws IOException
      Serializes the set and writes it to writer.
      Throws:
      IOException
    • writeField

      private static void writeField(int tag, Object object, Writer writer) throws IOException
      Throws:
      IOException
    • getSerializedSizeAsMessageSet

      public int getSerializedSizeAsMessageSet()
      Get the number of bytes required to encode this field, including field number, using MessageSet wire format.
    • getSerializedSize

      public int getSerializedSize()
      Get the number of bytes required to encode this set.

      For use by generated code only.

    • tagsEquals

      private static boolean tagsEquals(int[] tags1, int[] tags2, int count)
    • objectsEquals

      private static boolean objectsEquals(Object[] objects1, Object[] objects2, int count)
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      private static int hashCode(int[] tags, int count)
    • hashCode

      private static int hashCode(Object[] objects, int count)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • printWithIndent

      final void printWithIndent(StringBuilder buffer, int indent)
      Prints a String representation of the unknown field set.

      For use by generated code only.

      Parameters:
      buffer - the buffer to write to
      indent - the number of spaces the fields should be indented by
    • storeField

      void storeField(int tag, Object value)
    • ensureCapacity

      private void ensureCapacity(int minCapacity)
      Ensures that our arrays are long enough to store more metadata.
    • mergeFieldFrom

      boolean mergeFieldFrom(int tag, CodedInputStream input) throws IOException
      Parse a single field from input and merge it into this set.

      For use by generated code only.

      Parameters:
      tag - The field's tag number, which was already parsed.
      Returns:
      false if the tag is an end group tag.
      Throws:
      IOException
    • mergeVarintField

      UnknownFieldSetLite mergeVarintField(int fieldNumber, int value)
      Convenience method for merging a new field containing a single varint value. This is used in particular when an unknown enum value is encountered.

      For use by generated code only.

    • mergeLengthDelimitedField

      UnknownFieldSetLite mergeLengthDelimitedField(int fieldNumber, ByteString value)
      Convenience method for merging a length-delimited field.

      For use by generated code only.

    • mergeFrom

      private UnknownFieldSetLite mergeFrom(CodedInputStream input) throws IOException
      Parse an entire message from input and merge its fields into this set.
      Throws:
      IOException
    • mergeFrom