Class AbstractMessage.Builder<BuilderType extends AbstractMessage.Builder<BuilderType>>

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderType>
All Implemented Interfaces:
Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, MessageOrBuilder, Cloneable
Direct Known Subclasses:
DynamicMessage.Builder, GeneratedMessage.Builder, MapEntry.Builder
Enclosing class:
AbstractMessage

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

    • Builder

      public Builder()
  • Method Details

    • clone

      public BuilderType clone()
      Specified by:
      clone in interface Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Specified by:
      clone in class com.google.protobuf.AbstractMessageLite.Builder
    • hasOneof

      public boolean hasOneof(Descriptors.OneofDescriptor oneof)
      TODO: Clear it when all subclasses have implemented this method.
      Specified by:
      hasOneof in interface MessageOrBuilder
    • getOneofFieldDescriptor

      public Descriptors.FieldDescriptor getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)
      TODO: Clear it when all subclasses have implemented this method.
      Specified by:
      getOneofFieldDescriptor in interface MessageOrBuilder
    • clearOneof

      public BuilderType clearOneof(Descriptors.OneofDescriptor oneof)
      TODO: Clear it when all subclasses have implemented this method.
      Specified by:
      clearOneof in interface Message.Builder
    • clear

      public BuilderType clear()
      Specified by:
      clear in interface Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.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
    • internalMergeFrom

      protected BuilderType internalMergeFrom(com.google.protobuf.AbstractMessageLite other)
      Specified by:
      internalMergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
    • mergeFrom

      public BuilderType mergeFrom(Message other)
      Description copied from interface: Message.Builder
      Merge other into the message being built. other must have the exact same type as this (i.e. getDescriptorForType() == other.getDescriptorForType()).

      Merging occurs as follows. For each field:
      * For singular primitive fields, if the field is set in other, then other's value overwrites the value in this message.
      * For singular message fields, if the field is set in other, it is merged into the corresponding sub-message of this message using the same merging rules.
      * For repeated fields, the elements in other are concatenated with the elements in this message.
      * For oneof groups, if the other message has one of the fields set, the group of this message is cleared and replaced by the field of the other message, so that the oneof constraint is preserved.

      This is equivalent to the Message::MergeFrom method in C++.

      Specified by:
      mergeFrom in interface Message.Builder
    • mergeFrom

      public BuilderType mergeFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      IOException
    • mergeFrom

      public BuilderType mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Specified by:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      IOException
    • getUnknownFieldSetBuilder

      protected UnknownFieldSet.Builder getUnknownFieldSetBuilder()
    • setUnknownFieldSetBuilder

      protected void setUnknownFieldSetBuilder(UnknownFieldSet.Builder builder)
    • mergeUnknownFields

      public BuilderType mergeUnknownFields(UnknownFieldSet unknownFields)
      Description copied from interface: Message.Builder
      Merge some unknown fields into the UnknownFieldSet for this message.
      Specified by:
      mergeUnknownFields in interface Message.Builder
    • getFieldBuilder

      public Message.Builder getFieldBuilder(Descriptors.FieldDescriptor field)
      Description copied from interface: Message.Builder
      Get a nested builder instance for the given field.

      Normally, we hold a reference to the immutable message object for the message type field. Some implementations (the generated message builders) can also hold a reference to the builder object (a nested builder) for the field.

      If the field is already backed up by a nested builder, the nested builder is returned. Otherwise, a new field builder is created and returned. The original message field (if one exists) is merged into the field builder, which is then nested into its parent builder.

      Specified by:
      getFieldBuilder in interface Message.Builder
    • getRepeatedFieldBuilder

      public Message.Builder getRepeatedFieldBuilder(Descriptors.FieldDescriptor field, int index)
      Description copied from interface: Message.Builder
      Get a nested builder instance for the given repeated field instance.

      Normally, we hold a reference to the immutable message object for the message type field. Some implementations (the generated message builders) can also hold a reference to the builder object (a nested builder) for the field.

      If the field is already backed up by a nested builder, the nested builder is returned. Otherwise, a new field builder is created and returned. The original message field (if one exists) is merged into the field builder, which is then nested into its parent builder.

      Specified by:
      getRepeatedFieldBuilder in interface Message.Builder
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • newUninitializedMessageException

      protected static com.google.protobuf.UninitializedMessageException newUninitializedMessageException(Message message)
      Construct an UninitializedMessageException reporting missing fields in the given message.
    • mergeFrom

      public BuilderType mergeFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      public BuilderType mergeFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      public BuilderType mergeFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      public BuilderType mergeFrom(byte[] data, int off, int len) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      public BuilderType mergeFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      public BuilderType mergeFrom(byte[] data, int off, int len, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      public BuilderType mergeFrom(InputStream input) throws IOException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      IOException
    • mergeFrom

      public BuilderType mergeFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessageLite.Builder
      Throws:
      IOException