Interface Message.Builder

All Superinterfaces:
Cloneable, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, MessageOrBuilder
All Known Implementing Classes:
AbstractMessage.Builder, Any.Builder, Api.Builder, BoolValue.Builder, BytesValue.Builder, CompactThing.Builder, CompactThings.Builder, DescriptorProtos.DescriptorProto.Builder, DescriptorProtos.DescriptorProto.ExtensionRange.Builder, DescriptorProtos.DescriptorProto.ReservedRange.Builder, DescriptorProtos.EnumDescriptorProto.Builder, DescriptorProtos.EnumDescriptorProto.EnumReservedRange.Builder, DescriptorProtos.EnumOptions.Builder, DescriptorProtos.EnumValueDescriptorProto.Builder, DescriptorProtos.EnumValueOptions.Builder, DescriptorProtos.ExtensionRangeOptions.Builder, DescriptorProtos.ExtensionRangeOptions.Declaration.Builder, DescriptorProtos.FeatureSet.Builder, DescriptorProtos.FeatureSetDefaults.Builder, DescriptorProtos.FeatureSetDefaults.FeatureSetEditionDefault.Builder, DescriptorProtos.FieldDescriptorProto.Builder, DescriptorProtos.FieldOptions.Builder, DescriptorProtos.FieldOptions.EditionDefault.Builder, DescriptorProtos.FieldOptions.FeatureSupport.Builder, DescriptorProtos.FileDescriptorProto.Builder, DescriptorProtos.FileDescriptorSet.Builder, DescriptorProtos.FileOptions.Builder, DescriptorProtos.GeneratedCodeInfo.Annotation.Builder, DescriptorProtos.GeneratedCodeInfo.Builder, DescriptorProtos.MessageOptions.Builder, DescriptorProtos.MethodDescriptorProto.Builder, DescriptorProtos.MethodOptions.Builder, DescriptorProtos.OneofDescriptorProto.Builder, DescriptorProtos.OneofOptions.Builder, DescriptorProtos.ServiceDescriptorProto.Builder, DescriptorProtos.ServiceOptions.Builder, DescriptorProtos.SourceCodeInfo.Builder, DescriptorProtos.SourceCodeInfo.Location.Builder, DescriptorProtos.UninterpretedOption.Builder, DescriptorProtos.UninterpretedOption.NamePart.Builder, DoubleValue.Builder, Duration.Builder, DynamicMessage.Builder, Empty.Builder, Enum.Builder, EnumValue.Builder, Field.Builder, FieldMask.Builder, FloatValue.Builder, GeneratedMessage.Builder, GeneratedMessage.ExtendableBuilder, GeneratedMessageV3.Builder, GeneratedMessageV3.ExtendableBuilder, GetFileDescriptorSetRequest.Builder, GetFileDescriptorSetResponse.Builder, GetThingRequest.Builder, GetThingResponse.Builder, GetThingsRequest.Builder, GetThingsResponse.Builder, Int32Value.Builder, Int64Value.Builder, JavaFeaturesProto.JavaFeatures.Builder, LinksMetadata.Builder, ListValue.Builder, Log.Builder, Log.Entry.Builder, Log.Inline.Builder, MapEntry.Builder, Method.Builder, Mixin.Builder, Option.Builder, PluginProtos.CodeGeneratorRequest.Builder, PluginProtos.CodeGeneratorResponse.Builder, PluginProtos.CodeGeneratorResponse.File.Builder, PluginProtos.Version.Builder, SourceContext.Builder, StringValue.Builder, Struct.Builder, TextThing.Builder, TextThings.Builder, Thing.Builder, ThingMetadata.Builder, Things.Builder, Timestamp.Builder, Type.Builder, UInt32Value.Builder, UInt64Value.Builder, Validation.Builder, Validations.Builder, Value.Builder, Value.Builder, Value.LangString.Builder, Value.List.Builder, Value.Literal.Builder
Enclosing interface:
Message

public static interface Message.Builder extends com.google.protobuf.MessageLite.Builder, MessageOrBuilder
Abstract interface implemented by Protocol Message builders.
  • Method Details

    • clear

      @CanIgnoreReturnValue Message.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(Message other)
      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++.

    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      IOException
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      IOException
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(byte[] data, int off, int len) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • mergeFrom

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

      @CanIgnoreReturnValue Message.Builder mergeFrom(InputStream input) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      IOException
    • mergeFrom

      @CanIgnoreReturnValue Message.Builder mergeFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      IOException
    • build

      Message build()
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      Message buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
    • getDescriptorForType

      Descriptors.Descriptor getDescriptorForType()
      Get the message's type's descriptor. See MessageOrBuilder.getDescriptorForType().
      Specified by:
      getDescriptorForType in interface MessageOrBuilder
    • newBuilderForField

      Message.Builder newBuilderForField(Descriptors.FieldDescriptor field)
      Create a builder for messages of the appropriate type for the given field. The builder is NOT nested in the current builder. However, messages built with the builder can then be passed to the setField(Descriptors.FieldDescriptor, Object), setRepeatedField(Descriptors.FieldDescriptor, int, Object), or addRepeatedField(Descriptors.FieldDescriptor, Object) method of the current builder.

      To obtain a builder nested in the current builder, use getFieldBuilder(Descriptors.FieldDescriptor) instead.

    • getFieldBuilder

      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.

    • getRepeatedFieldBuilder

      Message.Builder getRepeatedFieldBuilder(Descriptors.FieldDescriptor field, int index)
      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.

    • setField

      @CanIgnoreReturnValue Message.Builder setField(Descriptors.FieldDescriptor field, Object value)
      Sets a field to the given value. The value must be of the correct type for this field, that is, the same type that MessageOrBuilder.getField(Descriptors.FieldDescriptor) returns.
    • clearField

      @CanIgnoreReturnValue Message.Builder clearField(Descriptors.FieldDescriptor field)
      Clears the field. This is exactly equivalent to calling the generated "clear" accessor method corresponding to the field.
    • clearOneof

      @CanIgnoreReturnValue Message.Builder clearOneof(Descriptors.OneofDescriptor oneof)
      Clears the oneof. This is exactly equivalent to calling the generated "clear" accessor method corresponding to the oneof.
    • setRepeatedField

      @CanIgnoreReturnValue Message.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
      Sets an element of a repeated field to the given value. The value must be of the correct type for this field; that is, the same type that MessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor,int) returns.
      Throws:
      IllegalArgumentException - if the field is not a repeated field, or field.getContainingType() != getDescriptorForType().
    • addRepeatedField

      @CanIgnoreReturnValue Message.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
      Like setRepeatedField, but appends the value as a new element.
      Throws:
      IllegalArgumentException - if the field is not a repeated field, or field.getContainingType() != getDescriptorForType()
    • setUnknownFields

      @CanIgnoreReturnValue Message.Builder setUnknownFields(UnknownFieldSet unknownFields)
      Set the UnknownFieldSet for this message.
    • mergeUnknownFields

      @CanIgnoreReturnValue Message.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
      Merge some unknown fields into the UnknownFieldSet for this message.
    • mergeDelimitedFrom

      boolean mergeDelimitedFrom(InputStream input) throws IOException
      Specified by:
      mergeDelimitedFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      IOException
    • mergeDelimitedFrom

      boolean mergeDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeDelimitedFrom in interface com.google.protobuf.MessageLite.Builder
      Throws:
      IOException