Class AbstractMessage

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
All Implemented Interfaces:
Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, MessageOrBuilder
Direct Known Subclasses:
DynamicMessage, GeneratedMessage, MapEntry

public abstract class AbstractMessage extends com.google.protobuf.AbstractMessageLite implements Message
A partial implementation of the Message interface which implements as many methods of that interface as possible in terms of other methods.
  • Field Details

    • memoizedSize

      protected int memoizedSize
  • Constructor Details

    • AbstractMessage

      public AbstractMessage()
  • Method Details

    • isInitialized

      public boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
    • newBuilderForType

      protected Message.Builder newBuilderForType(AbstractMessage.BuilderParent parent)
      Create a nested builder.
    • findInitializationErrors

      public List<String> findInitializationErrors()
      Description copied from interface: MessageOrBuilder
      Returns a list of field paths (e.g. "foo.bar.baz") of required fields which are not set in this message. You should call MessageLiteOrBuilder.isInitialized() first to check if there are any missing fields, as that method is likely to be much faster than this one even when the message is fully-initialized.
      Specified by:
      findInitializationErrors in interface MessageOrBuilder
    • getInitializationErrorString

      public String getInitializationErrorString()
      Description copied from interface: MessageOrBuilder
      Returns a comma-delimited list of required fields which are not set in this message object. You should call MessageLiteOrBuilder.isInitialized() first to check if there are any missing fields, as that method is likely to be much faster than this one even when the message is fully-initialized.
      Specified by:
      getInitializationErrorString in interface MessageOrBuilder
    • hasOneof

      public boolean hasOneof(Descriptors.OneofDescriptor oneof)
      Description copied from interface: MessageOrBuilder
      Returns true if the given oneof is set.
      Specified by:
      hasOneof in interface MessageOrBuilder
    • getOneofFieldDescriptor

      public Descriptors.FieldDescriptor getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)
      Description copied from interface: MessageOrBuilder
      Obtains the FieldDescriptor if the given oneof is set. Returns null if no field is set.
      Specified by:
      getOneofFieldDescriptor in interface MessageOrBuilder
    • toString

      public final String toString()
      Description copied from interface: Message
      Converts the message to a string in protocol buffer text format. This is just a trivial wrapper around TextFormat.Printer.printToString(MessageOrBuilder).
      Specified by:
      toString in interface Message
      Overrides:
      toString in class Object
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
    • equals

      public boolean equals(Object other)
      Description copied from interface: Message
      Compares the specified object with this message for equality. Returns true if the given object is a message of the same type (as defined by getDescriptorForType()) and has identical values for all of its fields. Subclasses must implement this; inheriting Object.equals() is incorrect.
      Specified by:
      equals in interface Message
      Overrides:
      equals in class Object
      Parameters:
      other - object to be compared for equality with this message
      Returns:
      true if the specified object is equal to this message
    • hashCode

      public int hashCode()
      Description copied from interface: Message
      Returns the hash code value for this message. The hash code of a message should mix the message's type (object identity of the descriptor) with its contents (known and unknown field values). Subclasses must implement this; inheriting Object.hashCode() is incorrect.
      Specified by:
      hashCode in interface Message
      Overrides:
      hashCode in class Object
      Returns:
      the hash code value for this message
      See Also:
    • hashFields

      protected static int hashFields(int hash, Map<Descriptors.FieldDescriptor,Object> map)
      Get a hash code for given fields and values, using the given seed.